A API tem por objetivo realizar o gerenciamento de inscrições. Além disso, também possui um script autônomo para a aprovação ou rejeição de inscrições.
A API foi desenvolvida usando Python 3.9.6, com o framework FastAPI. O banco de dados escolhido foi o MongoDB. Para o gerenciamento das dependências do projeto, foi escolhido o pip-tools. Para o envio de mensagens entre serviços, foi utilizado o RabbitMQ.
Esse projeto é dependente da Age Group API. Para o funcionamento correto, clone o repositório e siga as instruções de execução no README.md do projeto Age Group API antes de executar esse projeto.
Crie, na raiz do projeto, um arquivo .env para armazenar suas variáveis de ambiente. Um arquivo de exemplo pode ser encontrado aqui.
Para a criação dos containers no Docker e execução do sistema, execute:
make local-up
Após iniciar o projeto, é possível encontrar uma documentação detalhada de todas as rotas da API na seguinte URL:
Para a atualização do status das inscrições criadas, execute:
make status-processor
O script irá receber as mensagens enviadas após criação das inscrições e atualizar o seu status de acordo.
Para a criação dos testes, foi utilizada a biblioteca Pytest.
Para executá-los, utilize o seguinte comando:
make local-test