• Build (and deploy) a real SaaS app in 8 weeks using Python and Flask with this self-paced, online course.

    How The Course Works

    Fullstack Flask is a self-paced, 8-week, online course where you will build a real-world SaaS application in Python

    Remote

    Take the course anywhere

    Self-paced

    Take the course anytime

    Structured

    Learn in a cohesive fashion

    Community

    Learn with other students

     

    Everything you need to build a real SaaS application

    Fullstack Flask goes beyond other courses in covering every detail required for a production application.

    Here are ten things you will be able to do when you take the course:

    1. Build the backend and frontend in Python with Flask
    2. Persist data with PostgreSQL
    3. 100% Test Coverage
    4. Handle real payments with Stripe.
    5. Setup and run delayed jobs queues
    6. Send emails to your users
    7. Build user authentication
    8. Learn how to deploy the entire architecture to production
    9. Tune the performance of the server and queries
    10. Build the foundation for your income-generating SaaS side-project or company

    Our students work at

    👋 Hey there! I'm Sumukh, the author of this course

    I work at AngelList and previously helped teach Python and Flask at U.C. Berkeley to thousands of students. I've helped a lot of people learn Flask but along the way I noticed a problem with the tutorials and books that people were using.

    The problem was that tutorials would skip the actual problems you would encounter as a full-stack developer trying to deploy a maintainable and scalable application in production.

    To solve this this problem, I decided to create this course: A guide that doesn't just cover the basics, but one that teaches how to solve all of the problems you will run into when developing a web application using Flask.

    It's the guide I wish I had when I was getting started, and I think you're going to love it.

    What We Will Build

    In Fullstack Flask I will teach you how to use the full power and expressiveness of Python to build a fully functional income-generating web app from scratch using Flask.

    Introducing Yumroad

    In this course, we'll build Yumroad: a service for selling digital products online

    Real-world architecture

    We're not going to build a simple web-server and be done with it - no way. Instead, we're going to build out the full architecture of a real-world app. That means, databases, delayed jobs, sending emails, monitoring performance, and a whole lot more.

    Payment Forms and Webhooks

    We'll implement custom payment forms -- and implement the server hooks to make them work

    Stripe Integration

    We'll integrate with Stripe to handle payments for our digital products

    Send emails

    Our applications often have to email users and in this course, we'll show you how to do it

    Work with APIs

    We'll work with third party APIs to get real world data and bring it into our application.

    Fullstack Flask vs. Other Courses

    Fullstack Flask can help you save time, money, and frustration vs. going with other courses.

    Fullstack Flask

    Other Courses

    Expert Instructors

    Sumukh works at AngelList building production applications - he also taught Python at U.C. Berkeley. (and newline has tens of thousands of happy students)Who knows. Often unreliable, inexperienced teachers

    Comprehensive Scope

    This course goes beyond the frontend and teaches error handling, performance, sending emails, delayed jobs, and debugging.Teaches on backend and frontend at a superficial level

    Depth

    Covers all of the details including structure, organization, tooling, and deployment.Leaves you wanting more, wondering how to build a "real" application.

    Community

    Support from classmates and teachers in our Discord communityOn your own

    Time Commitment

    Build a complete revenue generating app in 8 weeksWithout a linear path you can waste months and get nowhere

    Satisfaction guaranteed

    Satisfaction guaranteed - full refund if you're unhappyStingy refund policies, if any

    Why this course is different?
    Production Ready Features

    Fullstack Flask covers the code for the backend and the frontend, but goes way beyond into production-level details that are often ignored by other courses. Here's a few examples:

    Error Handling

    Errors happen, but they don't have to take down your app (or go unnoticed!) . In this course, we'll show you what the pros do: handle their errors using an error handling service like Sentry

    Delayed Job Queues

    You don't want to handle long-running requests in your main web server. Instead, pros setup "delayed jobs", which are worker processes that can perform long-running tasks in your app. We cover how to set these up (and deploy them!) in the course

    Debugger

    It would be great if our code ran perfectly the first time, but sometimes we need to debug. In the course, we'll show you how to use the debugger in Python - in your browser!

    100% Test Coverage

    Tests are a must in any pro application. The app in Fullstack Flask has 100% test coverage and we show you how to write the tests

    Use the SQLAlchemy ORM

    SQLAlchemy is an ORM what is super powerful. In the course we'll show you how to use this ORM - and it's related devtools

    Deploy the whole thing

    The app has an architecture that is more than just a web-server. With a database and delayed jobs, there are several moving pieces - and we show you how to deploy them all in this course

    Includes: Ignite A Batteries-Included SaaS App in a Box

     

    Included in your enrollment is the code, lessons, and a license to Ignite which is a SaaS App in a Box that you can use for your own projects. ($200 value)

    Ignite is a scaffold for starting new Flask applications. It takes care of the boilerplate code (like User Registration, OAuth, Teams, and Billing), allowing you to focus on building your application. Ignite is built upon best practices for modern Flask applications.

    Batteries Included

    Authentication? Check. OAuth? Check. Teams? Check. Plus, an API, Emails, Admin, Recurring Billing and more.

    Dashboards

    Includes an admin dashboard for controlling data and reporting sales

    Team Management

    Manage teams, invites, and roles

    Payments

    Handle real payments with Stripe - including recurring billing for subscription services

    Social Auth

    Login and register with Google, Twitter, Facebook, and more

    GDPR Compliance

    Allow users to export their data for GDPR

    With Ignite you'll be able to spin up a production, revenue generating SaaS in no time.

    (Included in your Fullstack Flask course enrollment)

    Course Content

    24 modules46 lessons7h 32m total

    Intro

    1 lesson 1m total

    INTRODUCTION

    1:28 minutes

    Building your first Flask Application

    4 lessons 23m total

    LESSON

    5:52 minutes

    Using an API

    Building an stock quote application that uses an external API

    LESSON

    7:54 minutes

    Deploying to Production

    Deploying our Stock Quote application using Heroku

    LESSON

    6:46 minutes

    Rendering Pages

    3 lessons 26m total

    Rendering Pages

    - stock-app (folder) - server.py - requirements.txt - Procfile (optional) - templates (folder) - stock_quote.html (your template)

    LESSON

    11:32 minutes

    LESSON

    14:45 minutes

    LESSON

    Growing our application with Blueprints

    2 lessons 25m total

    Growing our application with Blueprints

    `https://financialmodelingprep.com/api/v3/financials/income-statement/AAPL`

    LESSON

    12:33 minutes

    LESSON

    13:20 minutes

    Application Factories & Configuration

    1 lesson 14m total

    Using an Application Factory

    `FLASK_ENV="development" FLASK_APP="stock_app:create_app" flask run`

    LESSON

    14:53 minutes

    Testing

    2 lessons 26m total

    LESSON

    12:10 minutes

    Part II: Building Larger Flask Applications

    2 lessons 10m total

    LESSON

    2:27 minutes

    LESSON

    7:45 minutes

    Databases & ORMs

    2 lessons 29m total

    Databases & ORMs

    "SQLAlchemy in general just has a much larger featureset and it's the only ORM for Python which allows you to take full advantage of your database and does not stand in your way. It exposes all features of your underlying database if you want and can be heavily fine tuned. ... [The] simple cases [are] not where SQLAlchemy shines. It's the more complex situations which you can't do at all in Django that work nicely in SQLAlchemy.

    LESSON

    12:27 minutes

    Using SQLAlchemy

    `FLASK_ENV=development FLASK_APP="yumroad:create_app" flask shell`

    LESSON

    16:54 minutes

    Building pages using our models

    2 lessons 19m total

    LESSON

    4:41 minutes

    Handling Forms (with WTForms)

    3 lessons 33m total

    LESSON

    8:15 minutes

    Logins

    3 lessons 45m total

    User Registration

    `FLASK_APP="yumroad:create_app" flask shell`

    LESSON

    16:32 minutes

    LESSON

    14:48 minutes

    LESSON

    13:48 minutes

    DB Relationships & Migrations

    3 lessons 32m total

    Implementing Relationships

    Using SQLAlchemy for relationships between models

    LESSON

    15:51 minutes

    LESSON

    11:32 minutes

    Sending emails

    1 lesson 16m total

    LESSON

    16:51 minutes

    Payments

    3 lessons 44m total

    LESSON

    7:33 minutes

    LESSON

    22:21 minutes

    LESSON

    15:02 minutes

    Assets

    1 lesson 21m total

    LESSON

    21:06 minutes

    Part III: Deploying to Production

    Errors