Projeto desenvolvido como parte do processo seletivo da empresa Celero em junho/2021
A finalidade deste desafio Γ© testar as habilidades e conhecimento com Python 3 e Django Rest Framework. O objetivo serΓ‘ criar uma API rest para servir os dados do dataset β120 years of Olympic history: athletes and resultsβ presente no Kaggle (https://www.kaggle.com/heesoo37/120-years-of-olympic-history-athletes-and-results#athlete_events.csv)
Instruçáes para rodar o projeto.
Python 3.9 e os tens listados no arquivo requirements.txt.
asgiref==3.3.4
atomicwrites==1.4.0
attrs==21.2.0
colorama==0.4.4
Django==3.2.4
django-filter==2.4.0
djangorestframework==3.12.4
iniconfig==1.1.1
Markdown==3.3.4
numpy==1.20.3
packaging==20.9
pandas==1.2.4
pluggy==0.13.1
py==1.10.0
pyparsing==2.4.7
pytest==6.2.4
python-dateutil==2.8.1
pytz==2021.1
six==1.16.0
sqlparse==0.4.1
toml==0.10.2
No powershell, digitar o comando abaixo para instalar todos os pacotes usados no projeto:
pip install -r requirements.txt
Como poderΓ£o realizar os testes automatizados.
Ainda nΓ£o desenvolvidos
Aqui serΓ£o exibidos os testes
Os testes serΓ£o no padrΓ£o do pytest
- Para acessar a API vocΓͺ vai na pΓ‘gina principal localizada no endereΓ§o padrΓ£o do Django: http://127.0.0.1:8000/.
- Para acessar o modelo todos os dados da API, vΓ‘ na pΓ‘gina pdrΓ£o da API: http://127.0.0.1:8000/athlete/
- Para acessar dado por dado, ir na pΓ‘gina http://127.0.0.1:8000/athlete/<id_do_atleta>. Ex:
http://127.0.0.1:8000/athlete/43578
- Para fazer a atualização da base de dados atravéz de um arquivo CSV deve-se acessar a pÑgina http://127.0.0.1:8000/upload_csv/
- OBS: Para atualizar via CSV deve-se ter no arquivo as seguintes colunas:
"Name","Sex","Age","Height","Weight", "Team","NOC","Games","Year","Season","City","Sport","Event","Medal"
- Python - Language
- Django - Web Framework
- Django REST Framework - REST API Framework
- SQLite - Database
- Marcelo Cabral de Matos (@marcelocmatos) - Desenvolvedor Python JΓΊnior
Desafio_Celero
ββ .gitignore
ββ athlete_events
β ββ admin.py
β ββ api
β β ββ serializers.py
β β ββ viewsets.py
β ββ apps.py
β ββ migrations
β β ββ 0001_initial.py
β β ββ 0002_rename_athletesevents_athletes.py
β β ββ 0003_auto_20210608_2245.py
β β ββ 0004_rename_athletes_athlete.py
β β ββ 0005_auto_20210609_2235.py
β β ββ 0006_auto_20210609_2344.py
β β ββ 0007_auto_20210609_2346.py
β β ββ 0008_alter_athlete_id.py
β β ββ 0009_alter_athlete_id.py
β β ββ 0010_alter_athlete_id.py
β β ββ 0011_alter_athlete_event.py
β β ββ 0012_alter_athlete_event.py
β β ββ __init__.py
β ββ models.py
β ββ tests.py
β ββ urls.py
β ββ views.py
β ββ __init__.py
ββ athlete_events.csv
ββ db.sqlite3
ββ desafio_celero
β ββ asgi.py
β ββ settings.py
β ββ urls.py
β ββ wsgi.py
β ββ __init__.py
ββ manage.py
ββ README.md
ββ requirements.txt
ββ static
β ββ css
β ββ reset.css
β ββ style.css
ββ templates
ββ base.html
ββ data_upload.html