A python microservice for managing catalog, following clean architecture principles.
- domain: Domain models and business logic.
- application: Application services and use cases.
- infrastructure: Infrastructure implementations (e.g., in-memory repositories, MySQL repository).
- tests: Unit and integration tests.
- Create (categories and genres).
- Get (categories and genres).
- Update (categories and genres).
- Delete (categories and genres).
- List (categories and genres).
- In-memory repository for testing and development.
- SQL lite repository for testing and development (Django ORM).
- Separation of domain, application, and infrastructure layers.
- API endpoints: GET (specific id), GET (all), CREATE, PUT (update all fields), PATCH (update specifics fields), DELETE
-
Create virtual env
python3 -m venv venv (macos | linux) python -m venv venv (Windows) -
Activate virtual env
source venv/bin/activate (macos | linux) .\venv/Scripts\activate (Windows) -
Install dependencies
pip install -r requirements.txt
-
Run tests
pytest src/core/category/tests/
-
Start server
python manage.py runserver