API template with Clean Architecture
This is a template for building APIs with Clean Architecture. It contains two examples of APIs built with FastAPI and Flask.
src
contains the source code.src/core
: business logic (use cases, entities, decorators...).src/infra
: implementations of the interfaces defined in the core.src/infra/api/fastapi
: FastAPI implementation.src/infra/api/flask
: Flask implementation.src/infra/storage/
: Fake storage implementation.
Requirements
- Docker
Prepare
make build network
Run FastAPI
make api.fastapi.run
Now, you can test the API with the following command:
curl -X 'GET' 'http://localhost:8000/api/v1/documents/?appName=app_test&clientId=client_test' -H 'accept: application/json' | jq
Run Flask
make api.flask.run
Now, you can test the API with the following command:
curl -X 'GET' 'http://localhost:5000/api/v1/documents/?appName=app_test&clientId=client_test' -H 'accept: application/json' | jq
Description
Languages
Python
88.2%
Dockerfile
6.4%
Makefile
5.4%