There are two broad divisions to a web application. There is the front-end and there is the back-end. A web application that is made up of the front-end only is referred to as a static web app, whereas that which has the back-end in addition to the front-end is referred to as a dynamic web application.
This blog covers how to use Python and the Flask framework to build functional web applications. It does not focus on the front-end part. However, I will recommend a few useful resources that you can look up to get started with the front-end part of a web application.
Understanding what the front-end of a web application entails is the foundation of building such an app.
I built this blog from scratch using Python and Flask. Building my own blog sounded like a really fun idea. In this project, I will show you how you can build your own personal blog from scratch.
Version control systems like git are really important in modern software development best practices. The ability to version your development process allows you to keep track of your software at the source level. Many software projects' files are maintained in Git repositories and platforms like GitHub, BitBucket and GitLab to facilitate sharing and collaboration.
In this guide, I will show you how you can install and configure Git in Ubuntu 20.04.
It is possible that you can connect to GitHub without providing your registration credentials during each visit. The SSH protocol allows you to connect and authenticate to remote servers and services. You will need to configure your GitHub account to allow for passwordless logins.
Virtual environments help to isolate the requirements of a project from another or from that of the operating system. This ensures that any upgrades in one project do not break the requirements in another project. Besides, being able to isolate your project requirements ensures that your OS is not cluttered with packages or system requirements you do not necessarily need all the time.
I will show you how you can get started with virtual environment wrappers to help manage your development workflow, and make it easier to work on more than one project at a time without introducing conflicts in their dependencies.
Vagrant is a command-line tool typically used by developers to create a virtual machine environment during development to match a production environment. Think of it like a virtual operating system besides your computer's own Operating System. By default, Vagrant can provision machines on top of VirtualBox, Hyper-V, and Docker.
Vagrant aims to mirror production environments by providing the same operating system, packages, users, and configurations, all while giving users the flexibility to use their favorite editor, IDE, and browser.
There are several deployment strategies you can consider for your application. One type of this strategy is where you are in full contol of every little aspect of the server configuration. This is the tradition deployment style. There are more modern deployment strategies where a service, say Heroku, manages everything for you as far deployment goes. You don't have to do anything on your part.
Then there is containerization, which sits in between the two strategies. Containers are a ligtweight virtualization technology that allows an application along with its dependancies and configurations to run in complete isolation, but without the need to use a full-blown virtualization technology such as virtual machines.
Elasticsearch is a distributed, free and open search and analytics engine for all types of data, including textual, numerical, geospatial, structured, and unstructured. Flask can work with any search engine, including Elasticsearch, since it is not opinionated. Unfortunately, Flask-SQLAlchemy does not support this feature natively. To use it, we have to contend with learning how to work with raw SQL statements.
In this article, you will understand how to properly configure your machine to begin using elasticsearch.
To demonstrate your application's latest features to managers or clients isn't easy unless you are sitting right next to them. It may be possible to make some changes to your application and deploy it to a server, but that process can be less practical if you are just seeking an opinion about the widget color or demonstrating the futility of their insane suggestions.
Ideally, you would need a way to display and share your application currently running on your localhost development server. Now, the thing is, your local development server is protected behind a firewall, which makes it practically impossible to access your application. Ngrok is a tool that can run a tiny client process on your machine to create a private connection channel to the ngrok cloud service, thereby providing a public URL that can be used to access your locally running application.
reCAPTCHA is a CAPTCHA system that enables web hosts to distinguish between human and automated access to websites. It uses an advanced risk analysis engine and adaptive challenges to keep malicious software from engaging in abusive activities on your website. Meanwhile, legitimate users will be able to login, make purchases, view pages, or create accounts and fake users will be blocked.
An online rich-text editor is the interface for editing rich text within web browsers, which presents the user with a "what-you-see-is-what-you-get" editing area. The aim is to reduce the effort for users trying to express their formatting directly as valid HTML markup.
It is possible to integrate a rich-text editor in your flask application. In this article, we will look at how you can edit your forms to allow for markdown editing and preview of output.
Heroku is a cloud platform as a service supporting several programming languages. It lets you build, deploy, monitor and scale your applications. All you need to do is have your application, and Heroku will handle everthing else for you.
Stripe Payments is a payment processing platform. It allows you to transfer money from a customer’s bank account into your business’s account by way of a credit or debit card transaction. To process online transactions you need both a payment gateway and payment processor. The gateway securely captures and transmits the customer’s credit card payment information to the processor, which then actually processes the transaction. Funds from the customer’s bank are then temporarily routed to a merchant account (in this case of a third party processor like Stripe, it’s an aggregated account ), where credit card-related fees are deducted from the sum. The payment is then routed to the merchant’s bank account.
Stripe combines gateway functionality and payment processing, making it a convenient (if not necessarily the cheapest) way to handle eCommerce.
It is very common that web applications allow users to upload files to the server. This could be to update their avatar or even to send their resume. In this article, you will learn how to add this feature to your flask application.
Chatbot have become a common feature in a lot of web applications. A user or a customer visiting a web page can learn about the site or the products offering by asking an automated chatbot. It is also not uncommon that most support teams can be reached via a chatbot.
In this article, I will show you how you can engage with a user or customer on WhatsApp.
A user of an application can be identified and verified based on the password they use to access their accounts. This is the first line of defense in providing the much needed protection of a user identity online. You can add an extra layer of security to a user's account by requiring that a user supply a one-time password sent to their phone before accessing their account. This ensures that even when an account is compromised, an attacker still has one hardle to overcome in order to gain for control of a user's account.