This project is a microservices-based Airline Ticketing System built using FastAPI (v0.115.0) and PostgreSQL. Itβs part of my personal learning journey β transitioning from .NET 6 background to mastering Python backend development.
Each service is designed to be independent, lightweight, and RESTful, with interactive API documentation powered by Swagger UI.
| Category | Technology |
|---|---|
| Framework | FastAPI (v0.115.0) |
| Language | Python 3 |
| Database | PostgreSQL |
| API Docs | Swagger UI (auto-generated by FastAPI) |
| Architecture | Microservices |
Manages user registration, login, and authentication
Status: β
Completed
Handles flight schedules, routes, and airline data
Status: π§ In Progress
Manages ticket booking, payments, and seat availability
Status: π§ In Progress
Each service runs on a different port and communicates via REST APIs. Eventually, these services will be containerized and connected using Docker Compose.
1οΈβ£ Clone the Repository git clone https://github.com//airline-ticketing-system.git cd airline-ticketing-system
2οΈβ£ Setup Virtual Environment python -m venv .venv source .venv/bin/activate # for Linux/Mac .venv\Scripts\activate # for Windows
3οΈβ£ Install Dependencies (per service) cd user-service pip install -r requirements.txt
4οΈβ£ Run the Service uvicorn app.main:app --reload --port 8001
π http://127.0.0.1:8000/docs to explore the Swagger UI
Understand how to build scalable APIs using FastAPI
Learn microservices architecture using Python
Integrate PostgreSQL with Asyncpg (Raw SQL)
Practice good project structure, versioning, and documentation
Transition skills from .NET ecosystem to Python backend development
Complete flight-service and booking-service
Add JWT authentication and service-to-service communication
Containerize with Docker and setup API Gateway
Deploy to a cloud platform (Alibaba)
This is a self-learning project β Iβm exploring how modern backend systems are built in Python. While Iβm still learning, I focus on clean code, readable structure, and production-oriented architecture.
π§‘ My goal: to grow as a software engineer who can adapt across tech stacks and still write maintainable, scalable systems.
πͺ Author
Salis Aryani Full Stack Developer (.NET β Python Transitioner) π Currently learning FastAPI, Cloud, and Microservices πΌ LinkedIn