45 lines
1.0 KiB
Markdown
Raw Normal View History

2025-01-24 09:39:17 +01:00
# 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.
2025-01-24 09:42:52 +01:00
- `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.
2025-01-24 09:39:17 +01:00
2025-01-24 09:42:52 +01:00
## Requirements
- Docker
2025-01-24 09:39:17 +01:00
## Prepare
```bash
make build network
```
## Run FastAPI
```bash
make api.fastapi.run
```
Now, you can test the API with the following command:
```bash
curl -X 'GET' 'http://localhost:8000/api/v1/documents/?appName=app_test&clientId=client_test' -H 'accept: application/json' | jq
```
## Run Flask
```bash
make api.flask.run
```
Now, you can test the API with the following command:
```bash
curl -X 'GET' 'http://localhost:5000/api/v1/documents/?appName=app_test&clientId=client_test' -H 'accept: application/json' | jq
```