The Build A Saas App With Flask Course
Last updated 7/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.75 GB | Duration: 10h 33m
Last updated 7/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.75 GB | Duration: 10h 33m
Build a real world web app with Python, Flask and Docker. Learn to accept payments with Stripe and so much more.
What you'll 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
Requirements
A computer running Windows, OSX or Linux
Very basic understanding of HTML, CSS and JavaScript
No paid software is required to complete the course (all software used in the course is free)
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 applicationLearn what Flask is and how to use its features in your applicationsLearn how to create a Python 2 and 3 compatible code baseLearn how to use PostgreSQL, Redis and Celery with FlaskCreate a full blown user management systemCreate a flexible custom admin interfaceAccept both recurring and microtransaction credit card paymentsDeal with both HTML template and JSON responsesLogging, middleware and error handlingDatabase 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 startedLightning 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 environmentsEasily move an application across environments or serversPrevents issues such as “well, it worked on my machine!”Makes developing with teams a much more pleasant experienceYou 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."
Overview
Section 1: Welcome to the Course
Lecture 1 What Does This Course Cover
Lecture 2 Dealing with Issues
Section 2: Is Flask Right for You?
Lecture 3 Introduction
Lecture 4 What Is Flask?
Lecture 5 What Kind of Web Sites Can You Build with Flask?
Lecture 6 How Does Flask Compare to Other Frameworks?
Lecture 7 Massive Companies Who Are Using Flask
Section 3: Application Overview
Lecture 8 Introduction
Lecture 9 Going over the Demo App That We'll Build
Lecture 10 Visualizing the Application's Architecture
Section 4: Preparing to Follow Along
Lecture 11 Introduction
Lecture 12 Setting up an Initial Course Folder
Lecture 13 Downloading the Course's Material
Lecture 14 Installing a Code Editor
Section 5: Getting Familiar with Docker
Lecture 15 Introduction
Lecture 16 Why Is It worth Using Docker?
Lecture 17 Installing Docker on Linux, macOS and Windows
Lecture 18 Making Sure Docker Works on Your System
Section 6: Creating a Base Flask App
Lecture 19 Introduction
Lecture 20 Exploring the App's Package Dependencies
Lecture 21 Taking a Look at the Application File
Lecture 22 Investigating the Dockerfile
Lecture 23 Running the Flask Application
Lecture 24 Dealing with Configuration Settings
Lecture 25 Creating a Base Flask App - Coding Challenge
Section 7: Blueprints and Jinja 2 Templates
Lecture 26 Introduction
Lecture 27 Creating Our First Flask Blueprint
Lecture 28 Deciding on a Look for Our Application
Lecture 29 Understanding Jinja 2 Templates
Lecture 30 Creating the Home Page
Lecture 31 Adding a Few Additional Pages
Lecture 32 Blueprints and Jinja 2 Templates - Coding Challenge
Section 8: Testing and Code Quality
Lecture 33 Introduction
Lecture 34 Going over the requirements.txt Changes
Lecture 35 Getting Comfortable Writing Tests
Lecture 36 Investigating Our Code Test Coverage
Lecture 37 Performing Static Analysis on the Code Base
Lecture 38 Testing Code Quality - Coding Challenge
Section 9: Creating a CLI Script
Lecture 39 Introduction
Lecture 40 Why Do We Need a CLI Script?
Lecture 41 Going over New Content Added to the Project
Lecture 42 Getting Familiar with Click
Lecture 43 Running the Commands We Created
Lecture 44 Creating a CLI Script - Coding Challenge
Section 10: Using Our First Flask Extension
Lecture 45 Introduction
Lecture 46 Going over the requirements.txt Changes
Lecture 47 Debug Toolbar
Lecture 48 Using Our First Flask Extension - Coding Challenge
Section 11: Creating a Contact Form
Lecture 49 Introduction
Lecture 50 Going over the requirements.txt Changes
Lecture 51 Configuring the App to Send e-mail
Lecture 52 Adding the Contact Blueprint
Lecture 53 Reviewing the Views
Lecture 54 Looking into the Templates and Macros
Lecture 55 Handling Forms with Flask-WTForms
Lecture 56 Our First Taste of Celery
Lecture 57 Running Celery with Docker Compose
Lecture 58 Confirming It Works with Tests
Lecture 59 Creating a Contact Form - Coding Challenge
Section 12: Creating a Complete User System
Lecture 60 Introduction
Lecture 61 Going over the requirements.txt Changes
Lecture 62 Configuring the App to Handle Users
Lecture 63 Adding the User Blueprint
Lecture 64 Exploring the User Model
Lecture 65 Initializing the Database
Lecture 66 Logging Users in and Out
Lecture 67 Registering New Users
Lecture 68 Welcoming New Users
Lecture 69 Allowing Users to Update Their Settings
Lecture 70 Dealing with Password Resets
Lecture 71 Modifications to Previous Blueprints
Lecture 72 Confirming It Works with Tests
Lecture 73 Creating a Complete User System - Coding Challenge
Section 13: Creating a Custom Admin Dashboard
Lecture 74 Introduction
Lecture 75 Why Are We Not Using Flask-Admin?
Lecture 76 Adding the Admin Blueprint
Lecture 77 Viewing the Main Dashboard
Lecture 78 Listing Users
Lecture 79 Editing Users
Lecture 80 Generating Fake Users with the CLI
Lecture 81 Searching and Sorting Users
Lecture 82 Deleting Users
Lecture 83 Confirming It Works with Tests
Lecture 84 Creating a Custom Admin Dashboard - Coding Challenge
Section 14: Logging, Middleware and Error Handling
Lecture 85 Introduction
Lecture 86 Tracking Response Times for All Requests
Lecture 87 Configuring Log Levels
Lecture 88 Using Flask's Logger
Lecture 89 Integrating Google Analytics
Lecture 90 Fixing IP Addresses with Middleware
Lecture 91 Custom Error Pages
Lecture 92 Handling Exceptions in Production
Lecture 93 Logging, Middleware and Error Handling - Coding Challenge
Section 15: Quality of Life CLI Improvements
Lecture 94 Introduction
Lecture 95 Creating Secure Tokens
Lecture 96 Viewing All Route Endpoints
Lecture 97 Breaking down Lines of Code
Lecture 98 Quality of Life CLI Improvements - Coding Challenge
Section 16: Accepting Recurring Payments
Lecture 99 Introduction
Lecture 100 Signing up with Stripe
Lecture 101 Going over the requirements.txt Changes
Lecture 102 Configuring the App to Handle Payments
Lecture 103 Adding the Billing Blueprint
Lecture 104 Visualizing the Data Model Relationships
Lecture 105 Creating Subscription Plans
Lecture 106 Rendering Pricing Tables
Lecture 107 Subscribing to a Plan (Front-End)
Lecture 108 Subscribing to a Plan (Back-End)
Lecture 109 Updating Your Payment Method
Lecture 110 Informing Users of Expiring Credit Cards
Lecture 111 Updating Your Subscription Plan
Lecture 112 Cancelling Your Subscription
Lecture 113 Extending the Admin Dashboard
Lecture 114 Managing Coupons in the Admin (Front-End)
Lecture 115 Managing Coupons in the Admin (Back-End)
Lecture 116 Expiring and Subscribing with Coupons
Lecture 117 Managing Subscriptions in the Admin
Lecture 118 Generating Random Invoices
Lecture 119 Reviewing Your Billing Details
Lecture 120 Integrating Stripe Webhooks
Lecture 121 Confirming It Works with Tests
Lecture 122 Sales Charts, Refunds and More
Lecture 123 Accepting Recurring Payments - Coding Challenge
Section 17: Building the Snake Eyes Game
Lecture 124 Introduction
Lecture 125 Going over the requirements.txt Changes
Lecture 126 Configuring the App to Handle Betting
Lecture 127 Adding the Betting Blueprint
Lecture 128 Exploring the Bet and User Models
Lecture 129 Giving Subscribers Coins
Lecture 130 Placing Bets (Front-End)
Lecture 131 Placing Bets (Back-End)
Lecture 132 Generating Random Bets
Lecture 133 Viewing Betting History
Lecture 134 Modifying the Admin User Details
Lecture 135 Coding Exercise Homework Assignments
Lecture 136 Confirming It Works with Tests
Section 18: Processing Microtransactions
Lecture 137 Introduction
Lecture 138 Configuring the App for Purchases
Lecture 139 Accepting Payments (Front-End)
Lecture 140 Accepting Payments (Back-End)
Lecture 141 Viewing the New Invoice History
Lecture 142 Adding to and Modifying the Custom Admin
Lecture 143 Confirming It Works with Tests
Lecture 144 Processing Microtransactions - Coding Challenge
Section 19: Database Migrations
Lecture 145 Introduction
Lecture 146 What Is a Database Migration?
Lecture 147 Going over the requirements.txt Changes
Lecture 148 Configuring Alembic
Lecture 149 Creating Our First Migration
Lecture 150 Sidetracking with pgAdmin III
Lecture 151 Running Our First Migration
Lecture 152 Creating and Running a Second Migration
Lecture 153 Viewing the History of Your Migrations
Lecture 154 Auto-Generating Migration Scripts
Section 20: Internationalization (i18n)
Lecture 155 Introduction
Lecture 156 What Is Internationalization?
Lecture 157 Going over the requirements.txt Changes
Lecture 158 Configuring the App to Handle i18n
Lecture 159 Adding i18n Support to the Application
Lecture 160 Updating the User Blueprint to Support i18n
Lecture 161 Updating the Billing Blueprint to Support i18n
Lecture 162 Generating the Primary messages.pot File
Lecture 163 Updating Translations for Multiple Languages
Lecture 164 Adding Additional Languages
Lecture 165 Confirming It Works with Tests
Lecture 166 Internationalization (i18n) - Coding Challenge
Section 21: Where to Go Next?
Lecture 167 Congrats on Finishing This Course
Lecture 168 Deploying Your App to Production
Anyone who wants to learn web development,Anyone who wants to raise their rates as a software developer,Anyone who wants to learn the ins and outs of Flask,Anyone who wants to create software as a service applications