Este código trata-se da resolução para o desafio proposto pela Atados. O desafio proposto baseia-se na construção de uma API que comporte a inclusão de voluntários e ações sociais.
Para iniciar, realiza-se a clonagem do projeto na máquina local. Após baixar o projeto, para executá-lo basta rodar o comando
docker-compose up
e então aguardar que o container docker suba, que logo então todas as rotas e acessos da api estarão disponíveis para uso.
- Docker
- Python 3
Para executar o projeto, basta rodar o comando
docker-compose up
e então aguardar que o container docker suba. Após o container subir, todas as rotas da aplicação se tornarão disponíveis para acesso e testes, conforme suas próprias regras.
Para executar os testes, antes é preciso acessar o bash do Docker referente a api. Para isso, com o container ainda rodando em outra janela, basta executar o comando
docker exec -it api_atados bash
que com isso terá acesso ao bash da api. Feito isso, acessa-se a pasta src pelo terminal e após isso tem-se acesso aos testes que podem ser executados das seguintes maneiras seguindo de base os exemplos:
- Todos disponíveis - python manage.py test --pattern="test_*.py" ou apenas python manage.py test tests
- Por módulo - python manage.py test tests.autenticacao
- Individual - python manage.py test tests.autenticacao.test_api
Os testes feitos tem como base avaliar o CRUD geral das rotas da aplicação, também verificando se as regras e políticas de cada uma delas está sendo seguida devidamente.
Para testa o sistema de forma local, realiza-se primeiro a clonagem do projeto na máquina local. Após baixar o projeto, para executá-lo basta rodar o comando
docker-compose up
e então aguardar que o container docker suba, que logo então todas as rotas e acessos da api estarão disponíveis para uso, que são:
- /api/v1/criar-usuario/ - Para criar usuário que será utilizado em fins de adição de novas instâncias de ação e voluntário no sistema.
- /api/v1/acoes/ - Para ter acesso ao CRUD geral de ação.
- api/v1/voluntarios/ - Para ter acesso ao CRUD geral de voluntário.
Os métodos referentes a listagem são de acesso livre, mas aqueles relacionados a criação e atualização de registros necessitam de um Token para serem realizados devidamente. Para obter esse Token, basta criar um usuário pela rota de criação dos mesmos e, feito isso, ir na rota de geração de Token, passando o username do usuário (e-mail) e a senha. Para mais informações sobre as rotas, acesse a documentação do sistema pelo Postman.
- Django - Framework web escolhido para realização do desafio
- Docker - Forma de containerização
- Python - Linguagem de programação utilizada
This project is licensed under the MIT License - see the LICENSE.md file for details