Skip to content

Latest commit

 

History

History
66 lines (41 loc) · 2.47 KB

README.md

File metadata and controls

66 lines (41 loc) · 2.47 KB

ps_celero_2021

Projeto desenvolvido para o processo seletivo da Celero em junho de 2022.

  • Especificação do projeto em Celero_BackEnd.pdf

  • Requerimentos de pacotes python em requeriments.txt

Diagrama de Banco de dados

Diagrama de Banco de Dados

*As cores no diagrama mostram a transformação dos CSV's originais em novas tabelas.

obs.: Ainda poderia ser separado as estatisticas pessoais do atleta (peso, altura) da estatisticas relativas ao evento (time e medalha), uma vez que o mesmo atleta pode estar competindo em diferentes eventos(no mesmo jogo olimpico) com as mesmas estatisticas pessoais. Porém isso agregaria uma complexidade maior ao código e ao banco de dados que talvez prejudicaria na manutenção e até no desempenho(por exesso de joins).

Utilizando o projeto

Configure o ambiente de desenvolvimento instalando as dependencias em requeriments.txt

No diretório ./ps_celero/ use o script rebase.sh no terminal (não esqueça de dar permição de execução com chmod):


./rebase.sh

A seguir, se quiser popular a base de dados, verifique se os arquivos athlete_events.csv e noc_regions.csv na raiz do projeto e execute:


python manage.py shell -c 'exec(open("populate.py").read())'

Por fim, inicie o servidor:


python manage.py runserver

Sobre a implementação

Como eu não havia experiencia de mercado com Django, tive de aprender o framework para tal projeto.

Tarefas

  • Criar os modelos para guardar as informações no BD.
  • Rotina para popular o BD com o CSV.
  • *Criar Rotas de iteração (leitura, listagem, atualização, criação e deleção)
  • Documentação.

*Como tive diversos compromissos com a faculdade e com o atual trabalho nesta semana, não consegui concluir todas as rotas desejadas para a API, porém fiz o pedido para uma classes/modelos criados. O mesmo serve para a documentação

Extras:

  • Testes Unitarios;
  • Filtros na Listagem;
  • Diagrama Relacional do BD;
  • Hospedar a API em Servidor.

Postman

As especificações e testes das rotas foram feitos através do aplicativo Postman.

Referencias utilizadas : https://www.django-rest-framework.org/tutorial/quickstart/ https://dev.to/nobleobioma/build-a-crud-django-rest-api-46kc