Python for API Development

Course Fee

₦ 350,000


3 Months


Course Overview

Class Frequency: 2 hours, twice a week

Welcome to the Python API Development Course! Over the next three months, you will dive deep into the world of building robust APIs using Python, with a focus on FastAPI. This course is designed to equip you with the skills needed to develop fully-featured APIs, covering key aspects such as authentication, CRUD operations, schema validation, and documentation. It is noteworthy that the course is not for an absolute beginner in Python. You must have had an introductory training in Python before enrolling for this course. Check out our absolute beginner class here:

Module 1: Introduction to API Development
- Understanding the fundamentals of API development
- Overview of Python for API development
- Setting up the development environment (VSCode)  

Module 2: Building a Fully Featured API
- 2.1 Authentication
- Implementing authentication mechanisms in FastAPI
- Securing endpoints and user data
- 2.2 CRUD Operations
- Hands-on experience with Create, Read, Update, and Delete operations
- Working with different data models
- 2.3 Schema Validation
- Utilizing FastAPI's built-in tools for validating request and response data
- Ensuring data integrity in API transactions
- 2.4 Documentation
- Generating comprehensive API documentation using FastAPI
- Ensuring clear and user-friendly API documentation

Module 3: SQL and Database Integration
- 3.1 Learning SQL
- Comprehensive coverage of SQL from basics to advanced (no prior knowledge required)
- Practical exercises to reinforce SQL concepts
- 3.2 Integrating SQL Database
- Implementing SQL database in your API using two methods:
- Raw SQL queries
- Object-Relational Mapping (ORMs) with SQLAlchemy
- 3.3 Alembic for Database Migrations - Managing database changes efficiently using Alembic
- Version control for database schema changes with GIT    

Module 4: Testing and Debugging
- Using Postman to construct HTTP requests and test the API - Setting up automated tests to ensure code stability
- Debugging and troubleshooting common API issues  

Module 5: Deployment Strategies
- 5.1 Deployment on Ubuntu Machine
- Deploying on cloud platforms like AWS, Azure, or Digital Ocean
- Configuring Nginx, setting up firewalls, and implementing SSL for secure traffic
- 5.2 Deployment on Heroku
- Containerizing the API with Docker for easy deployment on Heroku
- Ensuring scalability and reliability in a cloud environment  

Module 6: Continuous Integration/Continuous Deployment (CI/CD)
- Building a CI/CD pipeline using GitHub Actions
- Automating code integration, testing, image building, and deployment  

Module 7: Final Project - Social Media Application
- Building a Social Media-type application with the following functionalities:
- Create Posts, Read Posts, Vote on Posts (like posts), Update Posts, Retrieving Posts, Creating Users, Login Users (Authenticated)  

 Throughout the course, hands-on projects, real-world scenarios, and collaborative learning will be emphasized to ensure a comprehensive understanding of API development with Python and FastAPI. Get ready to embark on an exciting journey into the world of building powerful and scalable APIs!  

Development Stacks

 Utilizing Visual Studio Code (VSCode) as the integrated development environment (IDE)  

Tech Stacks:

 - Python for API development
- FastAPI framework
- PostgreSQL for SQL
- SQLAlchemy as the ORM
Cr8ive Xpats Academy, 60, Shipeolu Street, Palmgrove, Lagos