This project is a RESTful API built with FastAPI, designed to manage a collection of books. It provides CRUD (Create, Read, Update, Delete) functionality for books, allowing users to interact with the API efficiently. The application is containerized with Docker and deployed on Google Cloud Platform (GCP) with CI/CD automation to ensure seamless updates and high availability.
FastAPI – For building a high-performance REST API.
Python – Core language for API development.
Docker – For containerization and deployment.
Nginx – As a reverse proxy to manage traffic.
Google Cloud Platform (GCP) – For hosting the API.
GitHub Actions – For automating CI/CD pipelines.
Book Management – Users can add, update, retrieve, and delete books via API requests.
Data Validation – Implemented with Pydantic to ensure clean and structured data.
Fast and Asynchronous Processing – Leveraging FastAPI’s async capabilities for performance.
Dockerized Deployment – Ensures consistency across environments.
Automated CI/CD Pipeline – GitHub Actions streamline deployment to GCP.
Reverse Proxy with Nginx – Secures and optimizes API request handling.
Handling Invalid Inputs → Implemented custom error handling to return meaningful responses.
Ensuring API Returns Valid JSON → Adjusted FastAPI response models to align with best practices.
Deployment on GCP → Configured Cloud Compute Engine with proper networking and SSL.
Scaling & Performance → Used Docker & Nginx for better traffic management.
This project deepened my understanding of API development, cloud deployment, and CI/CD automation. By implementing FastAPI with a cloud-native approach, I improved my ability to build scalable and efficient backend services.
FastAPI
Python & Pydantic
Docker & Nginx
Google Cloud Deployment
CI/CD with GitHub Actions
API Development & Testing