A step-by-step Flask learning project that walks through the evolution of a Python web application from a simple starting point to a more complete blog-style app.
This repository is designed for hands-on learning. Each stage builds on the previous one, making it easier to understand how a Flask project grows in structure, features, and complexity over time.
This repo is organized into multiple stages so learners can explore Flask incrementally instead of jumping straight into a large codebase. Early stages focus on the basics, while later stages introduce a more complete application structure with routes, forms, models, templates, authentication, and database integration.
By the later stages, the project becomes a small Flask blog application where users can register, log in, create posts, manage their account, and interact with data stored in a MySQL database.
This project is useful for learning how to:
- Structure a Flask application over time
- Build routes and render templates
- Work with forms and validation using Flask-WTF
- Model application data with SQLAlchemy
- Connect a Flask app to MySQL
- Add authentication and session handling
- Organize code into a cleaner application package
- Move from a beginner-friendly app to a more realistic project layout
The repository is split into multiple stage folders, each representing a step in the learning journey.
flask-bootcamp-app/
├── stage-0/
├── stage-1/
├── stage-2/
├── stage-3/
├── stage-4/
├── stage-5/
├── stage-6/
├── stage-7/
├── stage-8/
├── stage-9/
├── stage-10/
├── stage-10-victoria/
├── stage-11-victoria/
├── stage-12-victoria/
├── README.md
└── sonar-project.properties