Developing Web Applications with Python and Flask
Learn Flask by building a full-featured stock portfolio web application. Across six parts you’ll cover Flask fundamentals, project structure, databases, user management, working with external stock APIs and Chart.js, and deploying the app to Render using test-driven development practices.
What you'll learn
- Build a full-featured Flask web app for managing a stock portfolio
- Learn Flask fundamentals: views, templates, forms, sessions, static files, flash messages, logging
- Structure larger Flask apps with blueprints, configuration, and the application factory pattern
- Work with databases using Flask-SQLAlchemy, migrations, and custom CLI commands
- Implement user management: registration, login/logout, email confirmation, password reset, profiles
- Integrate external stock APIs, use monkeypatching for tests, and visualize data with Chart.js
- Deploy a production-ready Flask application to Render
Skills you'll gain
- Utilize Python 3 and Flask to create a web application
- Create view functions and define routes for handling requests
- Use Jinja templates, forms, sessions, static files, flash messages, and logging in Flask
- Write automated tests for Flask apps using pytest and fixtures
- Organize a Flask project with blueprints, multiple configurations, and an application factory
- Explain how Flask processes requests and how application and request contexts work
- Create and use a SQLite database with Flask-SQLAlchemy
- Create custom Flask CLI commands to populate and manage database data
- Apply test-driven development to incrementally add features
- Implement user registration, login/logout, email confirmation, and password reset
- Mitigate CSRF and XSS attacks in a Flask application
- Send emails using Flask-Mail
- Display and add stocks to a user’s portfolio
- Use monkeypatching to test integrations with external APIs
- Retrieve stock data from an external API and visualize it with Chart.js
- Deploy a Flask application to Render
Prerequisites
- • Some experience with Python
- • No prior experience with other web frameworks required
Who this course is for
- → Python developers with some prior Python experience
- → Developers who want to learn Flask web development
- → Engineers interested in applying test-driven development to web apps
- → Developers who want to build and deploy a stock portfolio tracking app
Provider
TestDriven.io
Related Courses
Python Bootcamp
Python Bootcamp covers fundamentals of Python programming, including control structures, advanced data types, functions, modules, packages, multithreading, exception handling, file handling, GUI design, and database connectivity, preparing learners for future work in data science and machine learning.
Systems Engineering
This course introduces Systems Engineering principles across the lifecycle of complex systems, covering system design, architecture, requirements analysis, modeling, verification, lifecycle models (Waterfall, V-Model, Spiral, Agile), SysML, risk management, trade-off analysis, and a Smart Home Security System project.
IT Systems Design and Analysis
Prepare to design, analyze, and evaluate IT systems using data flow diagrams, ERDs, UML, and feasibility analysis. Learn to assess existing systems, identify inefficiencies, compare solution alternatives, and deliver a digital transformation strategy through a hands-on final project.
Hands On FullStack Development Course with Infrastructure Management Product implementation
A 180-day, project-first full-stack infrastructure course where you build and operate production-grade services with CI/CD, testing, observability, and operational playbooks, aimed at taking you from toy projects to real-world deployment experience.
Learn Typescript
Hands-on introduction to TypeScript fundamentals and their application in real projects. Learn core typing concepts, advanced TypeScript features, and how to use TypeScript with React and Express while building safer, more maintainable JavaScript applications.
AI Engineering Course
Designed to help software engineers transition to AI engineering, with detailed breakdowns of vector databases, indexing, large language models, attention, and core optimizations so you can understand how LLMs work and use them to build real-world applications.