The Build a SAAS App with Flask Course

Build a real world web app with Python, Flask and Docker. Learn to accept payments with Stripe and so much more.

3.90 (1873 reviews)
Udemy
platform
English
language
Web Development
category
instructor
11,031
students
10.5 hours
content
Oct 2022
last update
$79.99
regular price

What you will learn

See how a large application gets built up in stages

Build complex web applications and websites

Bid for Flask / web development freelance work

Confidence to apply for Flask positions at software companies

Proficiency with server-side development and databases

An awesome Docker based development environment

Description

Do you want to create an awesome web application but aren’t sure where to start?

Hi, I’m Nick and for the last year I've been teaching thousands of happy students how to deploy web applications with Docker.

Now I want to teach you how to develop PRODUCTION READY web applications with confidence.

Most learning material out there only teaches you how to build toy examples and throw out lines like “you wouldn’t want to do this in production…”, but then they never tell you the REAL way to do it.

Imagine how awful you’d feel after spending your time and hard earned money but still had to do a ton of research to complete your project. I’ve been there, done that and it’s not fun.

Instead, a large portion of the code base in my course is battle hardened from running in production on multiple projects.

I’ll be at your side explaining my thought process along the way while we build up a multi thousand line application together.

You’re going to walk away with everything you need to feel confident building your own web applications.

"Wow, what an amazing resource you've made. The app source is amazingly concise (clearly years of experience distilled). Honestly, it's the handsomest web app code base I've ever seen. - David N."


Here’s just some of what you’ll learn by taking my course:
  • Learn how to use Docker to “Dockerize” a web application
  • Learn what Flask is and how to use its features in your applications
  • Learn how to create a Python 2 and 3 compatible code base
  • Learn how to use PostgreSQL, Redis and Celery with Flask
  • Create a full blown user management system
  • Create a flexible custom admin interface
  • Accept both recurring and microtransaction credit card payments
  • Deal with both HTML template and JSON responses
  • Logging, middleware and error handling
  • Database migrations and internationalization (i18n)


"I have been working with Flask for the past 3 years and have been a technical reviewer on the Mastering Flask Packt book, even so, I am learning so much form you! - Pedro B."


What makes Flask awesome?
  • Based on one of the most popular computer languages in the world (Python)
  • Minimalistic and easy to get started
  • Lightning fast (Pinterest’s API serves 12+ billion requests / day with Flask)
  • Vibrant community and ecosystem (hundreds of high quality extensions)
  • Profitable for freelancing and consulting
Why is Docker worth using?
  • Saves you from a ton of headaches when setting up development environments
  • Easily move an application across environments or servers
  • Prevents issues such as “well, it worked on my machine!”
  • Makes developing with teams a much more pleasant experience
  • You won’t need expensive hosting to deploy your web applications


You won’t just become a Flask master by taking my course but you’ll also gain the confidence in developing web applications so that you can command the hourly rates you deserve as a software developer.

This could be done through increasing your rates as a freelancer or negotiating a higher salary at your job. In my years working as a consultant and talking to a lot of developers, I discovered that most developers are not confident in their ability to fulfill work that is requested of them.

Some of them are even afraid to bid on or accept contract work.

This is actually a very common problem and is described as “Impostor Syndrome”. I’ve suffered from it for a long time and it has cost me tens of thousands of dollars and now I want to save you the hardship of making the same mistake.

You might be thinking “Nick, how in the world is a course on Flask going to let me raise my rates?” and that’s a great question but before I answer that, let’s just play around with a few numbers:

  • If you work 20 hours a week for the next year at $30/hour then you would stand to make $31,200.
  • After you double your rate then you would make $62,400 instead.


Wouldn’t you want an extra 30k in your pocket every year? You know, the only real difference between a $30/hour and $60/hour developer is their mindset.

One of them believes they can fulfill the job, while the other struggles to believe in themselves.

How will Build a SAAS App with Flask help you generate more income?

Simple, you’re going to get a battle hardened web application that you can use as a bulletproof base for your next project. You won’t have to sit there second guessing yourself while researching everything on your own.

You’re getting well tested code that’s been running in production. Tons of edge cases have been ironed out, and features were added due to real life needs. Not only that, but I’ll be at your side explaining everything to you while you make your way through the course.

You’re going to see how the application gets built up from a single file, all the way to a 4,000+ line project that spans across dozens of files and folders.

If that’s not enough, I’ll be available to answer any questions you have in the course’s forums and all of my courses come with an unbeatable 30 day guarantee that’s 100% RISK FREE. If you don’t love the course then I insist you get a 100% refund – no questions asked.

"Definitely delivers on hours and sanity saved! Comprehensive and well worth it. - B.C."

Content

Welcome to the Course

What Does This Course Cover
Dealing with Issues

Is Flask Right for You?

Introduction
What Is Flask?
What Kind of Web Sites Can You Build with Flask?
How Does Flask Compare to Other Frameworks?
Massive Companies Who Are Using Flask

Application Overview

Introduction
Going over the Demo App That We'll Build
Visualizing the Application's Architecture

Preparing to Follow Along

Introduction
Setting up an Initial Course Folder
Downloading the Course's Material
Installing a Code Editor

Getting Familiar with Docker

Introduction
Why Is It worth Using Docker?
Installing Docker
Making Sure Docker Works on Your System
Getting Familiar with Docker - Quiz

Creating a Base Flask App

Introduction
Exploring the App's Package Dependencies
Taking a Look at the Application File
Investigating the Dockerfile
Running the Flask Application
Dealing with Configuration Settings
Creating a Base Flask App - Coding Challenge
Creating a Base Flask App - Quiz

Blueprints and Jinja 2 Templates

Introduction
Creating Our First Flask Blueprint
Deciding on a Look for Our Application
Understanding Jinja 2 Templates
Creating the Home Page
Adding a Few Additional Pages
Blueprints and Jinja 2 Templates - Coding Challenge
Blueprints and Jinja 2 Templates - Quiz

Testing and Code Quality

Introduction
Going over the requirements.txt Changes
Getting Comfortable Writing Tests
Investigating Our Code Test Coverage
Performing Static Analysis on the Code Base
Testing Code Quality - Coding Challenge
Testing and Code Quality - Quiz

Creating a CLI Script

Introduction
Why Do We Need a CLI Script?
Going over New Content Added to the Project
Getting Familiar with Click
Running the Commands We Created
Creating a CLI Script - Coding Challenge
Creating a CLI Script - Quiz

Using Our First Flask Extension

Introduction
Going over the requirements.txt Changes
Debug Toolbar
Using Our First Flask Extension - Coding Challenge
Using Our First Flask Extension - Quiz

Creating a Contact Form

Introduction
Going over the requirements.txt Changes
Configuring the App to Send e-mail
Adding the Contact Blueprint
Reviewing the Views
Looking into the Templates and Macros
Handling Forms with Flask-WTForms
Our First Taste of Celery
Running Celery with Docker Compose
Confirming It Works with Tests
Creating a Contact Form - Coding Challenge
Creating a Contact Form - Quiz

Creating a Complete User System

Introduction
Going over the requirements.txt Changes
Configuring the App to Handle Users
Adding the User Blueprint
Exploring the User Model
Initializing the Database
Logging Users in and Out
Registering New Users
Welcoming New Users
Allowing Users to Update Their Settings
Dealing with Password Resets
Modifications to Previous Blueprints
Confirming It Works with Tests
Creating a Complete User System - Coding Challenge
Creating a Complete User System - Quiz

Creating a Custom Admin Dashboard

Introduction
Why Are We Not Using Flask-Admin?
Adding the Admin Blueprint
Viewing the Main Dashboard
Listing Users
Editing Users
Generating Fake Users with the CLI
Searching and Sorting Users
Deleting Users
Confirming It Works with Tests
Creating a Custom Admin Dashboard - Coding Challenge
Creating a Custom Admin Dashboard - Quiz

Logging, Middleware and Error Handling

Introduction
Tracking Response Times for All Requests
Configuring Log Levels
Using Flask's Logger
Integrating Google Analytics
Fixing IP Addresses with Middleware
Custom Error Pages
Handling Exceptions in Production
Logging, Middleware and Error Handling - Coding Challenge
Logging, Middleware and Error Handling - Quiz

Quality of Life CLI Improvements

Introduction
Creating Secure Tokens
Viewing All Route Endpoints
Breaking down Lines of Code
Quality of Life CLI Improvements - Coding Challenge
Quality of Life CLI Improvements - Quiz

Accepting Recurring Payments

Introduction
Signing up with Stripe
Going over the requirements.txt Changes
Configuring the App to Handle Payments
Adding the Billing Blueprint
Visualizing the Data Model Relationships
Creating Subscription Plans
Rendering Pricing Tables
Subscribing to a Plan (Front-End)
Subscribing to a Plan (Back-End)
Updating Your Payment Method
Informing Users of Expiring Credit Cards
Updating Your Subscription Plan
Cancelling Your Subscription
Extending the Admin Dashboard
Managing Coupons in the Admin (Front-End)
Managing Coupons in the Admin (Back-End)
Expiring and Subscribing with Coupons
Managing Subscriptions in the Admin
Generating Random Invoices
Reviewing Your Billing Details
Integrating Stripe Webhooks
Confirming It Works with Tests
Sales Charts, Refunds and More
Accepting Recurring Payments - Coding Challenge
Accepting Recurring Payments - Quiz

Building the Snake Eyes Game

Introduction
Going over the requirements.txt Changes
Configuring the App to Handle Betting
Adding the Betting Blueprint
Exploring the Bet and User Models
Giving Subscribers Coins
Placing Bets (Front-End)
Placing Bets (Back-End)
Generating Random Bets
Viewing Betting History
Modifying the Admin User Details
Coding Exercise Homework Assignments
Confirming It Works with Tests
Building the Snake Eyes Game - Quiz

Processing Microtransactions

Introduction
Configuring the App for Purchases
Accepting Payments (Front-End)
Accepting Payments (Back-End)
Viewing the New Invoice History
Adding to and Modifying the Custom Admin
Confirming It Works with Tests
Processing Microtransactions - Coding Challenge
Processing Microtransactions - Quiz

Database Migrations

Introduction
What Is a Database Migration?
Going over the requirements.txt Changes
Configuring Alembic
Creating Our First Migration
Sidetracking with pgAdmin III
Running Our First Migration
Creating and Running a Second Migration
Viewing the History of Your Migrations
Auto-Generating Migration Scripts
Database Migrations - Quiz

Internationalization (i18n)

Introduction
What Is Internationalization?
Going over the requirements.txt Changes
Configuring the App to Handle i18n
Adding i18n Support to the Application
Updating the User Blueprint to Support i18n
Updating the Billing Blueprint to Support i18n
Generating the Primary messages.pot File
Updating Translations for Multiple Languages
Adding Additional Languages
Confirming It Works with Tests
Internationalization (i18n) - Coding Challenge
Internationalization (i18n) - Quiz

Where to Go Next?

Congrats on Finishing This Course
Deploying Your App to Production

Screenshots

The Build a SAAS App with Flask Course - Screenshot_01The Build a SAAS App with Flask Course - Screenshot_02The Build a SAAS App with Flask Course - Screenshot_03The Build a SAAS App with Flask Course - Screenshot_04

Reviews

Heath
June 3, 2023
This is a great course and worth the price of admission as well as the time spent absorbing the information. The layout that some have complained about (pre-written code with narration) is probably the most efficient way to deliver such a dense amount of information. ONE SUGGESTION: if you are considering this course, google the author and go direct, even with udemy deals, that will be a better deal in the long run. I try to value a course based on how much time it would have taken me to gain the knowledge on my own. It's hard to calculate that precisely, but I'm certain that without this course (or one like it) it would easily have taken me 10-20 times as long to obtain a similar level of knowledge.
Luke
February 23, 2023
Course information is helpful, teacher is good. But it’s mostly just narrating pre-written code. Feels like it would be more helpful to walk people through building these things so that we know how.
João
November 21, 2022
"like podcast course" sorry, i would like to learn but this course it's like a spoken over an existing application... " This course is for them who already knows these stuff, not for learning Its like a spoken over an existing application, but not teaching a learner"
Ryan
November 19, 2022
The quality of the vids are great and I can tell the instructor knows what hes saying and knows how to present it
Abdelouahed
November 18, 2022
Sorry, but this is not what I was expecting. The course is very confusing because the code in videos is outdated and every time you get a video popup to tell you that the code is updated but the video is not. In addition to this, I reach section 7 without writing a line of code because I just need to listen to what the author did earlier in a pre-coded project. This is not the best way to learn. Otherwise, you can just make it a podcast.
Cole
October 25, 2022
This course is very well done but is definitely advanced in terms of learning flask. I've completed about 70% of it and have been a bit overwhelmed. I plan to revisit this content after having a month or two of flask experience under my belt.
M
October 19, 2022
This course is for them who already knows these stuff, not for learning Its like a spoken over an existing application, but not teaching a learner
Konstantin
August 16, 2022
My opinion is it a great course. Thank you for high professional approach. Maybe some thing I wanted to be less, but it make this course deeper and wider - for example the docker gives for the developers the right way for deploy, although seeminglyunrelated to the development. Thanks again
Tristanto
July 30, 2022
I really like this course! This course level probably is about intermediate level. You can get plenty information about Flask, docker, and others in here, even you already know in your fields. Even I have hearing problem (I usually use the English transcript), but it seems it is no problem when Nick explaining. The only problem is, in this course, Nick are using old libraries, like Flask 0.10. And if you want the newest update, you need to enroll in Nick site (already newest Flask 2.x)
Wilson
July 21, 2022
I gotta start off this review by saying that I actually feel bad for getting a discount on this course. I've tried multiple top Flask courses from several sites, and this was by FAR the best to help me get my site to production level. The videos are extremely efficient - long enough so that you get a good explanation of the material, but not so long with pointless pauses in-between code samples. Saving time always feels great. Nick was super helpful - he answered my questions multiples times a day, even when my questions weren't directly related to the course material (since I used his code as a starting point to build my own site), and he was able to help debug my code, even when I diverged from the course material. The only thing I suppose I could dock stars off for, was that the Stripe integration was outdated, since this course was filmed in 2016. As of 2022, if you create an account with Stripe, they lock you into the latest API version, which made my account incompatible with the code. I had to update the code to match Stripe, but honestly, Nick helped out so much during the debugging process that I'm still totally happy with how it turned out. Overall, I wish I could give this course 10/5 stars. If I could go back in time and choose a course to start my Flask learning with, this would be the one. Thanks so much for making this course, Nick.
Takuto
May 21, 2022
Not sure how I can apply to what I would like to do yet. Q: →Hi, do you mean you're not sure what to build yet in terms of a personal project? A: →thanks for the reply! yes I am not sure until i watch more the course to able to comprehend and understand how to build and capture the image of the steps, let me go through more to give you better FB!
Sushant
April 27, 2022
This course is only for somebody who understands all the concepts beforehand. probably the key concepts should have been explained in some depth...I won't recommend this for somebody who has basic knowledge of flask or Html
Milosh
March 9, 2022
This is the sixth section, and I have barely done any flask/python coding, you keep explaining Docker and Docker and more Docker .. and if we want to know what we use it for we need to read your blogs and then see your youtube videos and then read more, so far it feels like you are boosting your blog/youtube views more then teaching us, but I still want to learn so .. I might stick around.
Ernest
January 31, 2022
The course is interesting and voluminous, but it looks more like an overview, which makes it difficult to understand and leaves gaps. I would like this course to be in real-time coding mode.
Marcos
January 24, 2022
The course is very good, but in the moment it was made. I have many questions, buy I don't find answers. I left a question many days, and it has no response. I tried by two different ways, but the modules are not updated.

Charts

Price

The Build a SAAS App with Flask Course - Price chart

Rating

The Build a SAAS App with Flask Course - Ratings chart

Enrollment distribution

The Build a SAAS App with Flask Course - Distribution chart

Related Topics

856526
udemy ID
5/22/2016
course created date
10/15/2019
course indexed date
Bot
course submited by