This is a simple to-do application built using FastAPI and CQRS architectural pattern. The purpose of this project is purely educational, and it is not intended to be used in production.
- Docker
- Docker Compose
- Clone this repository:
git clone https://github.com/mopa/fastapi-todo-cqrs.git
- Navigate to the project directory:
cd fastapi-todo-cqrs
- Build the Docker image:
make build
- Run the Docker containers:
make start
- Duplicate the
.env.example
to.env
file and modify it with the data connection to your PostgreSQL database - Run the first migration:
docker-compose run pythondev alembic upgrade head
- Other option is enter the docker container and run the command:
docker exec -it todocqrs /bin/bash
alembic upgrade head
By default, when running the make start
command, the application will be available at http://localhost:8004
. You
can also access the Swagger UI at http://localhost:8004/docs
and stop the containers by running make stop
.
- Add database migrations
-
.env
file support - Add logging
- Separate in bounded contexts
- Separate by layers
- Add scripts for linting, formatting and sort imports
- Add unit tests
- Add integration tests
- Add end-to-end tests
- Add authentication
- Add authorization
This project is licensed under the MIT License. See the LICENSE file for details.