The 30-day course on Python basics, networking fundamentals, backend development with FastAPI, and PostgreSQL is designed to give a comprehensive understanding of backend application development. The first 10 days focus on Python basics, beginning with an introduction to Python, including setting up the environment, basic syntax, and simple I/O operations. The course then covers control structures like loops and conditional statements, functions, data structures (lists, tuples, dictionaries, and sets), object-oriented programming concepts such as classes, inheritance, and file handling. It also touches on Python modules, error handling, and ends with a review and a small Python project.
Days 11-20 transition into backend development, with an introduction to FastAPI and its setup, including creating simple GET routes. The course covers request handling with different HTTP methods, path/query parameters, and body requests, as well as data validation using Pydantic models. Authentication and authorization with OAuth2 and JWT are explored, along with asynchronous programming for efficient backend development. The course continues with middleware, enabling CORS, and an introduction to PostgreSQL. It dives into SQL basics, connecting PostgreSQL with Python using psycopg2, and advanced SQL operations, such as relationships and complex queries, using SQLAlchemy ORM with FastAPI.
Days 21-25 are dedicated to a mini project, where students will build a FastAPI CRUD API with PostgreSQL. They will set up the application structure, implement CRUD operations, and handle authentication with JWT for secure routes. The project concludes with deployment instructions, using Uvicorn and Gunicorn for app execution, and options for deploying on platforms like Render.
By the end of the course, students will have hands-on experience with Python programming, FastAPI backend development, and PostgreSQL database management, along with a complete CRUD project ready for deployment.