JobBoard project with FastAPI using Hexagonal Architecture.
Rewritten version of: JobBoard
You can read it from original author:
The Pattern: Ports and Adapters
Why Hexagonal?
- Easy to implement.
- Highly testable and maintainable code.
- Dependency Inversion, Dependency Injection and SRP in the club.
- Centered domain knowledge.
- The original author is quite friendly :)
We use flit for the installation:
Install flit:
pip install flit==3.7.1
make install-dev
or flit install --env --deps=develop --symlink
make install
or flit install --env --deps=develop
make run
or
uvicorn src.jobboard.adapters.entrypoints.application:app --reload
make test
or pytest -svv
make test-cov
or pytest --cov-report html --cov=src tests
Generated as:
make migrations
or
alembic -c src/jobboard/adapters/db/alembic.ini revision --autogenerate
Migrate:
make migrate
or
alembic -c src/jobboard/adapters/db/alembic.ini upgrade head