/api-desafio-celero

Projeto desenvolvido como desafio do processo seletivo da Celero.

Primary LanguagePython

README

Sistema de gestão dos dados históricos das olimpiadas disponíveis em:

Esta é uma API simples para:

  • avaliação no processo seletivo da Celero (https://celero.com.br/)
  • criar uma interface unificada para gerenciar os dados dos ganhadores de medalhas nas olimpiadas
  • os administradores podem fazer o login e gerenciar todos através da interface de administração do Django

Executando localmente

  1. Deve ter Python 3.X e Postgres versão 12.x instalado e em execução
  2. Clone o repositório e faça cd na pasta criada
  3. Crie um ambiente virtual: python -m venv venv
  4. Vá para o seu ambiente virtual: source venv/bin/activate
  5. Instale as dependências: pip install -r requirements.txt
  6. Crie um usuário administrador para fazer login na interface de administração do Django: python manage.py makesuperuser
  7. Configurar banco de dados
    1. Crie o banco de dados: CREATE DATABASE api_desafio_celero;
    2. Crie o usuário do banco de dados: CREATE USER admin;
    3. Conceda privilégios ao usuário para nosso banco de dados;
    4. Execute migrações: python manage.py migrate
  8. Execute o aplicativo: python manage.py runserver
  9. Visualize a API em localhost:8000/historia_olimpica/athlete_events ou localhost:8000/historia_olimpica/noc_regions e a interface admin em localhost:8000/admin

Tabelas

  • historia_olimpica_nocregions
    • noc
    • region
    • notes
  • historia_olimpica_athleteevents
    • name
    • sex
    • age
    • height
    • weight
    • team
    • games
    • year
    • season
    • city
    • sport
    • event
    • medal
    • noc_id

API

Prefix: /historia_olimpica

/noc_regions

  • get
  • post
    • Exemplo:
    {
        "id": 1,
        "noc": "teste",
        "region": "teste",
        "notes": "teste"
    }

/noc_regions/:id

  • get
  • patch
  • delete

/athlete_events

  • get
  • post

/athlete_events/:id

  • get
  • patch
  • delete