
Flask Fundamentals: App Basics and Food Tracker App Course
Go from Python basics to a fully deployed web application with Flask. This course walks you through routing, templates, databases, authentication, and testing — all while building a real-world food tracker app. Every concept is applied hands-on, so you finish with a portfolio-ready project and the skills to build your next Flask app from scratch.
What you will learn:
Build and structure Flask applications using the application factory pattern and Blueprints.
Configure relational databases with Flask-SQLAlchemy and manage schema changes using Flask-Migrate.
Create dynamic, data-driven HTML pages using Jinja2 templates and template inheritance.
Process and validate user input securely with Flask-WTF forms and CSRF protection.
Implement full user authentication, including password hashing and protected route access.
Deploy a tested, production-ready Flask application to a cloud hosting platform.
How you study in a practical way Flask Fundamentals: App Basics and Food Tracker App Course
How you practise Flask Fundamentals: App Basics and Food Tracker App Course
For companies looking to train their teams
With Dedika for businesses, the course includes exercises and examples tailored to your own business and the way your company needs.
Course content
8 Chapters • 39 LessonsDuration between 4 and 360 hours (you decide)
Chapter 1HideHide detailsSee detailsPython and Web Basics for Flask
Python and Web Basics for Flask
Lesson 1 • Version Control with Git
Introduces Git commands used to track and share Flask project code. Prepares students to commit progress at each chapter milestone.
Lesson 2 • How the Web Works
Explains HTTP, URLs, and the client-server model that Flask sits on top of. Connects browser behavior to server-side code students will write.
Lesson 3 • Setting Up Your Dev Environment
Guides installation of Python, pip, and a virtual environment for isolated Flask projects. Ensures every student starts from a consistent, reproducible workspace.
Lesson 4 • Python Essentials for Flask
Covers variables, functions, lists, dicts, and classes needed throughout the course. Establishes the Python baseline every subsequent chapter assumes.
Chapter 2HideHide detailsSee detailsFlask Application Structure and Routing
Flask Application Structure and Routing
Lesson 1 • Dynamic URL Parameters
Covers angle-bracket syntax for variable URL segments and type converters. Enables detail pages for individual food entries in the tracker app.
Lesson 2 • HTTP Methods in Routes
Restricts routes to specific HTTP methods and handles method-not-allowed errors. Prepares students to accept form submissions in the next chapter.
Lesson 3 • Defining Routes and View Functions
Teaches the @app.route decorator and the relationship between URLs and view functions. Directly enables the multi-page navigation required by the food tracker.
Lesson 4 • Application Configuration and Debug Mode
Manages Flask config keys, environment variables, and the debug flag safely. Prevents common security mistakes before students deploy any code.
Lesson 5 • Your First Flask Application
Walks through creating the app object, running the dev server, and reading terminal output. Establishes the minimal working app all later features extend.
Chapter 3HideHide detailsSee detailsJinja2 Templates and HTML Rendering
Jinja2 Templates and HTML Rendering
Lesson 1 • Template Inheritance and Layouts
Builds a base layout with block tags that child templates override. Eliminates repeated HTML and enforces a consistent site structure.
Lesson 2 • Control Flow in Templates
Uses if/elif/else and for loops inside templates to render conditional and repeated content. Directly powers the food entry list in the tracker.
Lesson 3 • Jinja2 Syntax Essentials
Covers expressions, statements, and comments in Jinja2 delimiters. Gives students the syntax toolkit for all dynamic template work ahead.
Lesson 4 • Jinja2 Filters and Macros
Applies built-in filters and defines reusable macros for repeated UI components. Reduces duplication in the food tracker's entry cards and forms.
Lesson 5 • Rendering Templates with render_template
Introduces the templates folder, render_template, and passing context variables. Connects Python data to the HTML pages users will see.
Chapter 4HideHide detailsSee detailsForms, Validation, and User Input
Forms, Validation, and User Input
Lesson 1 • Displaying Validation Errors
Renders field-level error messages in templates and preserves user input on failure. Improves UX so users can correct mistakes without re-entering all data.
Lesson 2 • File Uploads and Input Sanitization
Handles file fields, validates MIME types, and sanitizes text input against injection. Prepares the tracker to accept optional food images safely.
Lesson 3 • HTML Forms and the Request Object
Reads submitted form data from request.form and request.args in view functions. Establishes the raw mechanics before introducing form libraries.
Lesson 4 • Introducing Flask-WTF
Installs Flask-WTF, configures CSRF protection, and creates a basic form class. Provides the structured form foundation the food tracker relies on.
Lesson 5 • WTForms Field Types and Validators
Covers StringField, IntegerField, SelectField, and common validators like DataRequired. Maps directly to the food name, calories, and category fields in the tracker.
Chapter 5HideHide detailsSee detailsDatabases with SQLAlchemy and Flask-SQLAlchemy
Databases with SQLAlchemy and Flask-SQLAlchemy
Lesson 1 • Relational Database Concepts
Explains tables, rows, columns, primary keys, and foreign keys without assuming prior SQL knowledge. Provides the mental model for designing the food tracker schema.
Lesson 2 • Configuring Flask-SQLAlchemy
Installs Flask-SQLAlchemy, sets the database URI, and initializes the db object. Connects the Flask app to a SQLite file ready for model definitions.
Lesson 3 • CRUD Operations with SQLAlchemy
Performs create, read, update, and delete operations using the session API. Wires database actions to the food tracker's add, edit, and delete routes.
Lesson 4 • Defining Models and Relationships
Creates SQLAlchemy model classes with typed columns and relationship fields. Defines the FoodEntry and Category models central to the tracker app.
Lesson 5 • Database Migrations with Flask-Migrate
Uses Flask-Migrate to generate and apply schema migrations without data loss. Enables safe schema evolution as the food tracker's requirements change.
Chapter 6HideHide detailsSee detailsUser Authentication and Session Management
User Authentication and Session Management
Lesson 1 • Scoping Data to the Current User
Filters all database queries by current_user.id so users see only their own entries. Completes the per-user data isolation the food tracker requires.
Lesson 2 • Registration and Login Views
Builds registration and login forms, validates credentials, and calls login_user. Gives users the entry point to their personal food tracker data.
Lesson 3 • Protecting Routes with @login_required
Applies the @login_required decorator and configures the unauthorized redirect. Ensures unauthenticated users cannot access or modify food entries.
Lesson 4 • Password Hashing and Storage
Hashes passwords with Werkzeug's security helpers before storing them in the database. Prevents plaintext credential exposure in the user model.
Lesson 5 • Setting Up Flask-Login
Installs Flask-Login, configures the LoginManager, and implements the user_loader callback. Provides the session infrastructure all protected routes depend on.
Chapter 7HideHide detailsSee detailsBuilding the Complete Food Tracker App
Building the Complete Food Tracker App
Lesson 1 • Food Entry CRUD Interface
Builds list, detail, create, edit, and delete views for food entries end to end. Applies routing, forms, and database skills in a unified feature.
Lesson 2 • Application Factory and Blueprints
Refactors the app into a factory function and organizes routes into Blueprints. Scales the codebase cleanly before adding the tracker's full feature set.
Lesson 3 • Static Assets and UI Polish
Serves CSS, JavaScript, and images via Flask's static folder and url_for. Delivers a polished, professional-looking tracker UI for portfolio presentation.
Lesson 4 • Search and Filtering
Adds keyword search and category/date filters to the food entry list view. Improves usability as the user's entry history grows over time.
Lesson 5 • Calorie Summary and Reporting
Aggregates daily and weekly calorie totals using SQLAlchemy query functions. Gives users actionable nutritional insight from their logged data.
Chapter 8HideHide detailsSee detailsTesting, Deployment, and Production Readiness
Testing, Deployment, and Production Readiness
Lesson 1 • WSGI Servers and Process Management
Replaces the dev server with Gunicorn and manages worker processes for concurrency. Prepares the app to handle real user traffic reliably.
Lesson 2 • Testing Flask Applications
Uses pytest and Flask's test client to write unit and integration tests for views and models. Validates app correctness before any deployment step.
Lesson 3 • Production Configuration
Switches to a production-grade config, disables debug mode, and sets secure headers. Prevents common misconfigurations that expose apps to security risks.
Lesson 4 • Logging and Error Monitoring
Configures Python logging and integrates an error-tracking service for production visibility. Enables rapid diagnosis of issues after the app goes live.
Lesson 5 • Deploying to a Cloud Platform
Packages the app with a Procfile and requirements.txt and deploys to a cloud hosting service. Produces the live URL students include in their portfolio.
Your valid completion certificate
This course is for you:
Python hobbyist: ready to transform scripts into full-fledged web applications.
Computer science student: seeking practical backend project experience beyond classroom learning.
Data analyst: wishing to share insights through a self-developed web user interface.
Career changer: transitioning into software development using Python as their foundation.
Freelancer: looking to add web application development to their list of service offerings.
Junior developer: aiming to strengthen backend skills through a structured, real-world project.
What our students say
Your classes are perfect. I purchased the one-year package and finally have the opportunity to follow various topics of my interest without needing to change platforms... I thank you for everything you do, I've already recommended you to other people...

I like how the lessons are straight to the point and how I can change chapters and skip content that I don't need.

I like the content and the way of presentation and video transcription, which speeds up the process!

The platform is fast, simple to use. The diversity of content and complementary videos help a lot in learning.

Top qualifications
FAQs
Who is Dedika?
Is the certificate valid in India?
Are the courses free?
What is the course workload?
What are the courses like?
How do the courses work?
What is the duration of the courses?
What is the cost or price of the courses?
What is an EAD or online course and how does it work?
PDF Course




















