There Is More To Learn

Configure PostgreSQL in a Live Linux Server

PostgreSQL is a feature-rich application, offering advanced features such as materialized views, triggers, and stored procedures. It can handle a very high workload, including data warehouses or highly-scaled web applications, and is noted for its stability.

Learn More

Understanding Cronjobs in Flask

It is common for web applications to run background tasks. The applications could need to clear unnecessary files or cache, import third-party data, or even periodically send out email newsletters. Thankfully, all Unix-based have a scheduling utility that makes it possible to automate certain tasks.

Learn More

Newsletter App

A newsletter application plays an important role when launching a new product. As a business, you'd want to collect user interest in your new product or service prior to the launch for the purposes of decision-making.

Learn More

Download and Encrypt PDFs in Flask

PDF documents are not editable by nature. They are the sole read-only file format that can’t be altered without leaving a footprint. This allows the effective tracking of changes in respective documents. Encryption can be enabled in the document to protect it wherever it goes, independent of storage or transport. As complex as this entire document creation and encryption process seems to be, Flask allows for the integration of this feature in an application.

Learn More

Visualize Data in Your Flask App Using ChartJS

Data visualization is the graphic representation of information. This could be in the form of a chart, diagram, map, or picture. In the world of Big Data, data visualization tools and technologies are essential for analyzing large datasets and making data-driven decisions.

ChartJs is a free and open-source JavaScript library used to make HTML-based charts. It is powerful enough to reproduce very responsive charts and plots. You can use it to plot static and constantly changing data.

Learn More

Comment Moderation in Flask

As an administrator of an online application, have you been worried about the quality of comments that appear on your site? Comment moderation is an attempt to promote healthy conversations on your platform.

Typically, a user may register and jump into the comments section to experience the application's community. To ensure that warm engagements are maintained throughout, moderators will have first access to all user comments before allowing them into the community.

Learn More

Push Notifications Using Twilio Authy API in Flask

Push notifications are messages that pop up on a user’s mobile phone or desktop device via their chosen web browser. These little banners slide into view — whether or not your app or website is open.

Push notification can also be used to authenticate a user silently without requiring their active participation in the authentication process as is the case with token-based methods. All a user needs to do is click a button to either approve or deny access to an account.

Learn More

Two-factor Authentication Using Twilio Verify API in Flask

The Twilio Verify Rest API allows you to verify that a user has a claimed device in their possession. This device will receive a verification code that could be used to authenticate a user into an account. You can choose what channels you'd like to use to verify a user of an application, either via SMS, voice, WhatsApp or email.

Learn More

Time-based One-Time Password Authentication in Flask

Two-factor authentication (2FA) is a security protocol that protects users by asking them to verify their identity using two methods of authentication. Organizations use 2FA techniques to safeguard their clients' data from unauthorized access.

Time-based one-time password (TOTP) is one method of implementing two-factor authentication where users are required to not only provide their passwords, but also a time-bound numeric token sent to their device. The token is counter-checked against a generated token before access is granted.

Learn More

User Authentication in Flask

User authentication is a method that keeps unauthorized users from accessing sensitive information. Depending on the application, user data may be limited to only those with access to an account.

Typically, users are identified by their username, email, phone number, or password. The most basic form of user authentication is the password-based type. However, due to several reasons, this method does not guarantee the security of a user's account.

There are several other technologies we can utilize to help ensure that a user of an online application is safe from exposure and potential damage. In this article, we will look at a few methods that can be implemented in Flask to ensure data safety.

Learn More

Integrate Google Recaptcha in Flask Web Forms

It is fairly common that web forms can be misused, sometimes for malicious reasons. As a developer, how do you protect against automated responses? You can use the Completely Automated Public Turing test, a type of challenge-response test, to tell computers from humans.

Although CAPTCHAs are designed to block automated bots, CAPTCHAs are themselves automated. They're programmed to pop up in certain places on a website, and they automatically pass or fail users.

Learn More

Handling Rich Text in Flask

Rich text is a more exciting way of writing text, where you have the option to add common formatting features such as bold, italics, links, and more, commonly found in 'what you see is what you get' text editors. Additionally, you can have a preview of the text you are writing so as to know what the output will look like eventually.

Learn More

How To Deploy a Flask App on Docker Containers

Docker is an open-source containerization platform. It enables developers to package applications into containers—standardized executable components combining application source code with the operating system (OS) libraries and dependencies required to run that code in any environment. The isolation and security allow you to run many containers simultaneously on a given host.

More portable and resource-efficient than virtual machines (VMs), containers have become the de facto compute units of modern cloud-native applications.

Learn More

How To Install Docker in Ubuntu 20.04

Docker is an application that allows you to manage application processes using containers. These containers work in a similar manner as virtual machines but are rather more portable, resource-friendly and OS-dependant. In this tutorial, you’ll install and use Docker Community Edition (CE) on Ubuntu 20.04.

Learn More

Upload Files To A Database

You probably are already familiar with how to update a table in your flask database, for example, you know how to add a new user who has just registered for an account in your application. This user may want to update their profile image, or simply attach a file needed in a submission. How can you handle this need in your flask application?

Learn More

Welcome to Linode

Thankfully, Flask provides a built-in development server to be used during testing. Unfortunately, this server has serious limitations beyond testing purposes. This is by design and true to Flask's core philosophy of being lean but extensible. In production, Flask recommends that you look elsewhere, such as at Heroku, Python Anywhere among others. Most of these hosting servers are cloud-based, and they do an excellent job of lifting the heavy burden of server setup, hosting and maintenance from the developer.

On the other side, if you would like to know and understand what goes on behind the hosting services, you can choose to host your flask application yourself. Your Flask application, being Python-based, will require a Linux server for self-hosting needs. This is where Linode comes in.

Learn More

HTTP Life Cycle

The basis of any web interaction is for a user to ask for information and receive that information. A user, the person sitting behind a browser, can type in something in a browser's URL bar, and the browser will in turn display some information back to the user. The information can be exactly what the user asked for or some feedback saying that the requested resource could not be found.

The browser in this operation is the client who requests a server, this can be Google, for information. Google will in turn respond with the requested information or an alternative feedback. This process of sending and receiving information in the web is what is referred to as the HTTP Life Cycle.

Learn More

Secure Your Domain Name With SSL

If you want your website visitors and potential customers to trust your site, you need a SSL or TLS certificate installed on your website. SSL is a technology that keeps your website visitors' personal information private when they submit it to your site. If your website isn’t secure, or doesn’t use TLS, formerly known as SSL, then hackers can intercept and read the information being transmitted. This is called a man-in-the-middle attack, and the consequences can be devastating.

For some time now, Google has categorically been using HTTPS as a ranking signal in search results. This means that if your website has SSL then it’s more likely to show up higher in SERPs (search engine result pages) than a site that isn’t secure.

Learn More

Buy A Domain Name For Your Deployed Flask Application

Every website on the internet has an IP address. These addresses point to a website's location. IP addresses are generally a set of numbers such as These addresses can quickly become difficult to remember, more so if you have multiple websites' IP addresses. A domain name is a memorable name that maps to a particular website's IP address, and are typically what you would type in a browser's URL bar. An example of a domain name mapping to the IP is

If you have deployed an application on a server, say a Linux server, your host has assigned your application an IP address. You can get yourself a memorable domain name that your users can easily recall when interacting with your application on the internet.

Learn More

Deploy Your Flask App on Linode Server

Linode is a cloud hosting provider that focuses on providing Linux powered virtual machines to support a wide range of applications. Even though many experts do not see it as a beginner-friendly, statistically, most developers prefer Linux as their development and deployment environment. It is, therefore, an excellent choice for developers who wish to work with an end-to-end Linux based application workflow.

Learn More

Test Your Locally Running App On Another Device

Have you ever wondered how you can view your locally running application on another device such as your mobile phone? You probably would love to get feedback on your application before deploying, but you are faced with the fact that your computer has a firewall that does not allow for external access. The good news is that it is possible to bypass this limitation and still share a link to your application with a friend who lives on a different part of the world for testing purposes.

Learn More

Start A Flask Server

Flask is a lightweight Python framework for web applications that provides the basics for URL routing and page rendering. Its philosophy aims to keep the core simple but extensible. Over the years, there has been considerable design changes that have been made to Flask, but the core has largely remained the same. This article is going to explore how you can start your Flask development server to test an application that is running locally in your machine.

Learn More

Install and Configure Virtualenvwrapper in Ubuntu 20.04

Virtual environments are key to safely tinkering with different versions of Python and combinations of packages. They also allow you to install different versions of the same library for different projects, which resolves what would be impossible if all of your projects' requirements were installed in the same environment.

Virtualenvwrapper is a set of extensions for creating and deleting virtual environments and otherwise managing your development workflow, making it easier to work on more than one project at a time without introducing conflicts in their dependencies.

Learn More

Connect to GitHub Using SSH

You can connect to GitHub using the Secure Shell Protocol (SSH), which provides a secure channel over an unsecured network. This protocol can connect and authenticate remote servers and services. With SSH keys, you can connect to GitHub without supplying your username and personal access token at each visit.

Learn More

Install and Configure Git in Ubuntu

Git is software for tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows.

Git allows and encourages you to have multiple local branches that can be entirely independent of each other. The creation, merging, and deletion of those lines of development takes seconds.

Learn More

Challenge Yourself With These Projects