Intro to Fullstack Flask
👩💻 Get access to the Fullstack Flask source code - here.
📚 Get access to the Fullstack Flask Manuscript in PDF form - here.
This course’s mission
By the end of this course, you should be able to create full stack SaaS (Software as a Service) applications using Flask.
Flask is often touted as a framework that's easy to pick up, and most of the learning material out there focuses on building simple applications and often doesn't pay attention to the components required to building maintainable large Flask applications. Our goal in this course is to take an example driven approach to building maintainable Flask web applications.
What is Flask?
Flask is an open source "micro-framework" written by Armin Ronacher to build web applications in Python. It is referred to as a micro-framework because it only ships a small core set of features and provides an extensible base that allows developers to choose what additional tools they will need for their application.
Flask developers love using Flask for it's low learning curve, flexibility, and vibrant extension support.
When would you want to use Flask?
Despite being called a micro-framework, Flask is well suited to build both small and large web applications. Flask has been used in production systems by large companies such as Twilio, Pinterest, Lyft, LinkedIn, and Uber.
Flask's minimal design particularly excels at small API first web services in comparison to other heavier weight frameworks.
This explains why many Flask users use the framework for deploying machine-learning models, microservices, and small APIs designed to be run on "serverless" infrastructure.
The small extensible design also makes it well suited for building larger web applications as well. Unlike larger frameworks that come with a rigid out of the box approach, Flask allows you to easily pick and choose libraries to find the best balance for your application. As you scale your application with heavier weight frameworks like Django, you might find that the frameworks stand in your way and are hard to customize.
In this course, we are going to build out a Flask web application and follow the end to end process of building a SaaS web application.
How should I read this course?
This course takes an example based approach to guide you through building Flask applications using best practices. In each chapter, we'll build out part of a Flask application. Since we start our example applications from scratch, you will find the most value if you follow along and create the applications we build. The course is not designed to be a reference manual, it is designed to be a way to guide you to be able to structure and build SaaS applications with Flask.
What's in this course?
In Part One, we will spend time learning the basics of Flask by building a financial web app that looks up information about stocks. The focus will be to pick up the fundamentals of Flask as well as the best way to test and structure an application that will grow in scope.
In Part Two, we will start to build a SaaS web application by connecting Flask with a database and using libraries to support features like user accounts and sending emails.
In Part Three, we will focus on how to make our SaaS application ready for production use by covering how to deploy applications, handle errors, and improve performance.
Throughout the course, we will be discussing how to keep your Flask application maintainable by following best practices and writing tests. Starting from the section on Testing, the example applications we build will have a test suite with 100% code coverage.
The code in this course has been vigorously tested to ensure that it works in all modern environments. But if you run into any part that is confusing, or if you get stuck anywhere, please reach out!
Send an email to [email protected] detailing the issue and we'll get back to you as soon as possible.
Let's get started!
With that all said, we're ready to start building Flask applications.