A simple REST API for managing tasks, built with FastAPI and containerized with Docker.
Basic CRUD operations for tasks — create, read, update, delete. Built this to practice working with FastAPI, Docker, and setting up a proper backend project structure.
- Python / FastAPI
- Uvicorn (server)
- Docker + Docker Compose
- Pydantic for data validation
taskflow/
├── app/
│ ├── main.py
│ ├── routes.py
│ └── models.py
├── Dockerfile
├── docker-compose.yml
└── requirements.txt
You need Docker installed. Then:
git clone https://github.com/vikasranax/taskflow-api.git
cd taskflow-api
docker-compose up --buildAPI runs on http://localhost:8000
Docs (auto-generated by FastAPI) are at http://localhost:8000/docs
| Method | Endpoint | What it does |
|---|---|---|
| GET | /api/tasks | List all tasks |
| POST | /api/tasks | Create a task |
| PUT | /api/tasks/{id} | Update a task |
| DELETE | /api/tasks/{id} | Delete a task |
POST /api/tasks
{
"title": "Learn Docker",
"description": "Finish this project",
"completed": false
}- Add a real database (currently just stores tasks in memory, so they're lost on restart)
- Add authentication
- Set up CI/CD with GitHub Actions
Vikas — GitHub