Intro to Fullstack Flask

Project Source Code

Get the project source code below, and follow along with the lesson material.

Download Project Source Code

To set up the project on your local machine, please follow the directions provided in the README.md file. If you run into any issues with running the project source code, then feel free to reach out to the author in the course's Discord channel.

Intro

👩‍💻 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.

Getting help

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.

  • |

Lesson Transcript

  • [00:00 - 00:17] Welcome to the full stack Flaskware Square, where building SAS applications were Python and Flask. In this course, we're going to cover the basics of how to structure Flask applications and how to build a larger Flask application.

  • [00:18 - 00:24] Throughout the way, the course is going to be project based and hands on. So it would be best if you follow along.

  • [00:25 - 00:38] You can also watch the videos and try and pick up the gist of it. But generally speaking, it will be best if you follow along and play around with the actual implementation we do.

  • [00:39 - 00:54] By the end of the second part, you'll have built an application that's similar to Gumroad in that it provides a storefront and a billing integration to actually build users. Now to build a full SAS application, we're going to need to go a little further than that.

  • [00:55 - 01:16] So instead of going into every little detail, because there's a lot, we instead will give you a boilerplate application, which gives you all the things you need to start with building your SAS application. With your foundation from part one and part two of this course, you'll be able to work with this boilerplate application to build your own SAS applications.

  • [01:17 - 01:24] If you have questions or comments, feel free to address them in the discussion. All right, let's get started.

  • [01:25 - 01:26] (upbeat music)