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.exampleto.envand 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:
pytestTo 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 -dThis project is licensed under the MIT License.
Developed by Olusegun Ibraheem.