Skip to content

Go from simple scripts to fully deployed web applications. This comprehensive course will guide you through building and structuring web apps and APIs with Flask, preparing you to launch your own complex, data-driven projects. Designed by George Freedom Tech

License

Notifications You must be signed in to change notification settings

GeorgeFreedomTech/Flask-Apps-Architecture-Course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Flask Mission Control: Building Web Applications & APIs

By George Freedom

Go from simple scripts to fully deployed web applications. This comprehensive course (Lessons 1-9) will guide you through building and structuring web apps and APIs with Flask, preparing you to launch your own complex, data-driven projects.

🚀 Welcome to the Systems Engineer's Cockpit!

This repository hosts "Flask Mission Control: From Prototype to Production" – a comprehensive course presented in a series of Jupyter Notebooks and Python scripts.

This course is for learners who understand Python basics and are ready to build the systems that power the web. We will move beyond simple scripts to architecting the control panels, data APIs, and user interfaces for a deep-space asteroid mining mission. You will learn to think like a systems engineer, building robust, modular, and scalable web applications from the ground up.

🗺️ Course Outline / Your Mission Itinerary:

This curriculum is structured to guide you from initial setup to a fully deployed, modular web application.

  • Lesson 1: First Ignition & Systems Check - Preparing your environment and launching your first simple web server.
  • Lesson 2: Navigation & Schematics - Rendering HTML pages and creating links between different control panels.
  • Lesson 3: Dynamic Displays with Jinja2 - Powering your HTML templates with live data and logic.
  • Lesson 4: Two-Way Comms with WTF-Forms - Receiving and validating data from your crew and remote systems.
  • Lesson 5: The Central Databank with SQLAlchemy - Establishing persistent data storage for your mission logs and crew manifests.
  • Lesson 6: Automated Data Feeds with REST APIs - Building machine-to-machine communication channels for drones and autonomous probes.
  • Lesson 7: Core Architecture I: The Application Factory - Rebuilding your prototype's core into a robust, configurable assembly line.
  • Lesson 8: Core Architecture II: Blueprints - Expanding your system with specialized, independent modules for different mission tasks.
  • Lesson 9: Mission Launch: Deployment - Preparing your application for the real world and deploying it to a production server.

🎯 Learning Objectives / Mission Capabilities to Master:

Upon completing this expedition, you will be able to:

  • Design and build dynamic web applications using Flask.
  • Create and process secure, validated web forms with Flask-WTF.
  • Model and interact with a database using SQLAlchemy for persistent data storage.
  • Build REST APIs to allow your applications to communicate with other systems.
  • Architect clean, modular, and scalable applications using the Application Factory pattern and Blueprints.
  • Prepare and deploy a production-ready web application to the internet.

🎒 Course Prerequisites / Pre-flight Briefing:

  • A solid understanding of Python fundamentals (variables, data structures like lists and dictionaries, loops, and functions).
  • Basic knowledge of Object-Oriented Programming (OOP) concepts in Python (classes and objects).
  • Familiarity with basic HTML tags (<h1>, <p>, <form>, etc.).
  • An interest in building the backend systems that power the web.

🧭 How to Get and Run Course Materials:

Here is a guide on how to download the Jupyter Notebooks (.ipynb files) and how to open them. You can choose to work locally (on your computer) or online.

Part 1: How to Download the Materials

Option A: Download as ZIP (Easiest for Beginners)

  • Go to the main page of this repository on GitHub.
  • Click the green Code button.
  • Select Download ZIP. Important: Extract (unzip) the downloaded folder to a location on your computer (e.g., Documents/PythonCourse). Do not try to run files directly inside the ZIP archive.

Option B: Git Clone (For Advanced Users)

If you are comfortable with the terminal and want to easily update materials later:

  • Open your terminal or command prompt.
  • Run the following command:
    git clone https://github.com/GeorgeFreedomTech/flask-apps-architecture-course.git

Part 2: How to Open and Run the Notebooks

Option 1: VS Code (Recommended - Offline)

This is the best way to work if you want to keep everything on your own computer.

Prerequisites:

  • VS Code installed.
  • Python installed.
  • Jupyter Extension for VS Code installed (search for "Jupyter" by Microsoft in the Extensions marketplace).

Steps:

  1. Open VS Code.
  2. Go to File > Open Folder... and select the folder you downloaded/cloned.
  3. Click on any file ending in .ipynb.
  4. In the top-right corner, click Select Kernel and choose your Python version (or venv).
  5. You can now run the code cells by clicking the "Play" button next to them.

Option 2: Google Colab (Alternative - Online)

If you cannot install Python locally or want to try the code quickly in your browser.

Prerequisites:

  • You have to have a Google account

Steps:

  1. Go to colab.research.google.com.
  2. Log in with your Google Account.
  3. Select the GitHub tab in the pop-up window.
  4. Paste the URL of this repository and search.
  5. Click on the notebook you want to open.
  • Alternatively: You can go to the Upload tab and upload the .ipynb file you downloaded in Part 1.

🛰️ Repository Mission Objectives:

  • Educational Launchpad: A practical, hands-on course that transforms your Python knowledge into the ability to build and deploy real-world web applications and control systems.
  • Professional Blueprint: A showcase of my teaching methodology for architecting mission-critical web systems, from an initial prototype to a modular, production-ready application.
  • Mission Log: A source of code examples and concepts for technical articles, tutorials, and professional debriefings on social media.

🔗 Next Steps & Connect:

📜 License:

Copyright (c) 2025 Jiří Svoboda (George Freedom) / George Freedom Tech

This work (educational materials, including text, explanations, exercises, and accompanying code examples within the Jupyter Notebooks) is licensed under:

  • Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

We build for the future!

About

Go from simple scripts to fully deployed web applications. This comprehensive course will guide you through building and structuring web apps and APIs with Flask, preparing you to launch your own complex, data-driven projects. Designed by George Freedom Tech

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published