This project is a modular, loosely coupled FastAPI backend that supports:
- Multiple database backends (PostgreSQL or MongoDB)
- Multiple storage backends (Local or S3/MinIO)
- Pluggable image processing services (Pillow and OpenCV)
- REST and GraphQL APIs
- Copy
.env.example
to.env
and adjust configuration as needed. - Install requirements:
pip install -r requirements/dev.txt
- Run migrations and seed data:
alembic upgrade head
- Run the server:
uvicorn app.main:app --reload
The REST API is mounted at /rest
and supports the following endpoints:
/rest/process-image
: Processes an image using the configured mockup service.
The GraphQL API is mounted at /graphql
and supports the following queries:
/graphql/templates
: Returns a list of templates.
To run tests, use the following command:
pytest
To deploy the application, you can use Docker Compose. Create a docker-compose.override.yml
file and adjust the configuration as needed. Then, run:
docker-compose up -d
This project is licensed under the MIT License.
Developed by Olusegun Ibraheem.