Slides and source code for the hasgeek Flask 3.0 Workshop for March 2024 with Abhiram R | @abhicantdraw (Everything Python)
This workshop introduces beginner programmers to Web Development with Flask 3.0. It walks through the creation of a money management application and demonstrates Flask 3.0's async capabilities as well.
It is targetted towards both novice python programmers with some experience in the language, as well as hopes to bring developers up to speed about Flask 3.0.
Link to Source Code & Slides (WIP)
- Introduction and Basics (10 minutes)
- Installing Python + Flask
- Running basic hello world to prevent common gotchas
- Getting copy of the course source code
- Showcasing the testing UI for the money management application (developed in Streamlit)
- Getting Started with Flask (15 minutes)
- Discussing what Flask does, what a webserver application is
- Discussing components of a common web service (CRUD)
- Listing alternatives in Python and other languages
- Similar design (nodejs, fast-api)
- batteries included (django, rails)
- Core Flask Concepts (15 minutes)
- Flask from 0 to Django through Extensions
- Forms and User Input (10 minutes)
- Database Integration (10 minutes)
- Introduction to DuckDB
- Common Alternatives
- Async Programming in Flask 3.0 (25 minutes)
- Why async calls matter
- How to use an async http service
- Flask 3.0 and Async
- Authentication (AuthN) and Authorization (AuthZ) (15 minutes)
- Error Handling and Debugging
- Introduction to CURL and Postman
- Logging in Flask (using structlog)
- Useful network tools for webdevelopment (netstat)
- Deployment (20 minutes)
- Testing (15 minutes)
- Testing HTTP services with Locust
- Q&A (10 minutes)
Total time: 160-180 minutes.
Vinay Keerthi is a self-taught developer who's worked with Python since it's 2.7 days. He's been using Flask since its beta label days and has earlier conducted workshops on Flask for corporates and at the BangPypers meetup group. He has previously worked at Visa, Merkle Science and current works at ChainSafe, where he develops data pipelines using Dagster. He is most proud of the fact that in 2019, his bookshelves ran on Flask! You can find more about him on his website
Abhiram R works at o9 Solutions Inc, where he works on ML and LLMs. He's previously worked at Scribble Data and Blue Jeans Network. When he's not busy discovering more reasons to eat idlys, Abhiram blogs about Python at Everything Python and runs BrokeBibliophiles Bangalore, one of Bangalore's most popular bookclubs. Abhiram has also previously volunteered for PyCon and BangPypers, and is passionate about education in and outside of tech.
Prerequisite knowledge, and equipment go here.
Link to the Slides go here
Notes on how to contribute to this workshop or report bugs go here.
Required tools list go here.
This project uses marp
for the presentation slides. Visit the website
to learn how to use Marp.
To serve the slides, run marp -s -w slides/
from the root directory. Visit
https://localhost:8080/workshop.md for the live preview.
Notes how how to build the slides into PDF and HTML go here.
Notes on testing the code samples go here.