A API possui os seguintes recursos:
- Criar classificação (aka categoria);
- Submissão de avaliação de corrida;
- Login com JWT
O projeto usa principalmente FastAPI e seu ecossistema, por este motivo usei a arquitetura proposta para projetos de produção encontrado no Cookiecutter_FastAPI_PostgreSQL .
Projeto foi desenvolvido principalmente com:
- poetry: Gerenciamento de dependências e empacotamento.
- fastapi: Rest API.
- typer: Kit para CLI.
- pytest: Testes.
$ poetry install
$ poetry run alembic upgrade head
$ poetry run b_riders users create --is-superuser teste@teste.com 123qweasd
$ poetry run uvicorn b_riders.api:app --reload
Antes de fazer criação de classificação e submisão de corridas, é preciso fazer o login.
A API disponibiliza uma documentação por OpenApi Specification no endereço:
$ poetry run pytest