A high-performance microservices application designed for asynchronous CSV file manipulation. Built to handle heavy data processing without blocking user interaction using FastAPI, Celery, and Redis.
- Asynchronous Processing: Files are queued in Redis and processed by dedicated Celery workers.
- Configurable Pipelines: User-defined operations including duplicate removal, column dropping, and missing value handling.
- Containerized Architecture: Fully orchestrated with Docker Compose for seamless "one-command" deployment.
Demo Video (click the gif for full demo video)
| Component | Technology | Role |
|---|---|---|
| Backend | FastAPI | High-performance asynchronous REST API |
| Database | Postgres | Stores the task metadata |
| Task Queue | Celery + Redis | Asynchronous task management and message brokering |
| Data Handling | Pandas | Efficient CSV manipulation and transformation |
| Infrastructure | Docker Compose | Service orchestration and environment isolation |
- Docker should be installed
.envfiles of your own
Check the .env.example for more info.
Clone the repo and start the entire stack:
git clone https://github.com/abhik-b/csv-microservices.git
cd csv-microservicesThen in the terminal : docker compose --build --no-cache
This will get the project built
Then run docker compose up to get the project up and running.
- Thanks to this article on (setting up pgadmin with docker)







