Our Project: Yumroad
Get the project source code below, and follow along with the lesson material.
Download Project Source CodeTo 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.
Part II: Building Larger Flask Applications
In Part I, we have learned the basics of Flask, seen how to structure Flask applications to scale, and how to test Flask applications. To build SaaS web applications with Flask we will also need to be able to store data in database, support user registration/login, handle payments, and send emails. We will focus on these components in Part II.
This lesson preview is part of the Fullstack Flask: Build a Complete SaaS App with Flask course and can be unlocked immediately with a single-time purchase. Already have access to this course? Log in here.
Get unlimited access to Fullstack Flask: Build a Complete SaaS App with Flask with a single-time purchase.

[00:00 - 00:09] Welcome back to full stack Flask. Now that we've learned some of the basics of Flask and how to structure our applications, we're going to move on to build something slightly larger.
[00:10 - 00:26] The application we're going to build is going to be called YumRoad, and it's inspired by an application that exists in real life and is making millions of dollars called GumRoad. GumRoad is a product that creators can use to sell their digital content online .
[00:27 - 00:43] Looking at the existing product, you can see that here's Newline's store page. It has a listing of a bunch of products, and each product page as well has some details, as well as a checkout button.
[00:44 - 00:59] In the checkout button, we fill out an email address and some card details, and then we're getting to be sent to receipt. GumRoad has been doing millions of dollars of payments for a while now, and it's a pretty interesting business.
[01:00 - 01:08] We're going to try and replicate that with what we know in Flask. This is what our application is going to look like.
[01:09 - 01:31] It's going to be a place where people can create an online store, create products in their online store, setting their own prices, and then have checkout button that people can use to actually buy the products. We're going to build a stripe integration here to actually charge our customers , and then going to send them an email receipt confirmation.
[01:32 - 01:40] Now, looking at all of this, there's a bunch of new things we're going to have to add to our application to support it. Namely, database storage.
[01:41 - 01:53] We need to be able to store all of these products and the stores and persist them over time. We need to be able to let people add stuff to an existing store, and we can't just let anybody add anything.
[01:54 - 02:15] We're going to have to add users and user login to control who can do what. We're also going to have to have a stripe integration as well as the ability to send emails, and there's a few other things we'll need as well that you'll commonly need when you're building SAS applications with Flask, and that's what we're going to go over in this part of the course.
[02:16 - 02:23] In the next videos, we're going to go over how to get started and cover getting set up with databases in Flask.