Desafio Champions league, using Python 3 and Sanic Framework.
Champions League Challenge, using Python 3 and Sanic Framework.
Para realização deste trabalho tenha como referência a temporada 2017-2018 da Champions League. Recomenda-se a utilização do framework Sanic ou Django REST para o desenvolvimento desta API, assim como a ferramenta Postman para a criação das requisições HTTP. Devem utilizar o Git como ferramenta da controlo de versão.
For the accomplishment of this work reference has been made to the 2017-2018 season of the Champions League. It is recommended to use the Sanic or Django REST framework for the development of this API, as well as the Postman tool for the creation of HTTP requests. They should use Git as a version control tool.
Todos os recursos disponibilizados devem utilizar JSON, seja para receber ou entregar dados. As rotas podem receber um <parâmetro>. Todo parâmetro deve ser considerado como string.
All available resources must use JSON, either to receive or deliver data. Routes can receive a <parameter>. Every parameter must be considered as a string.
- Python 3.6
- Sanic Framework 18.12
Installing sanic
from the pip
pip3 install sanic
Installing sanic
from the conda-forge
channel can be achieved by adding conda-forge
to your channels with:
conda config --add channels conda-forge
Once the conda-forge
channel has been enabled, sanic
can be installed with:
conda install sanic
It is possible to list all of the versions of sanic
available on your platform with:
conda search sanic --channel conda-forge
Run this code local > python3 main.py
Open the Browser http://0.0.0.0:8000
Pode visualizar a aplicação nesse endereço.
You can view the application at this address.
https://champions-league-challenge.herokuapp.com/api/champions-league/
-
1 /api/champions-league/
-
Breve descrição sobre Liga dos Campeões
-
Maiores campeões (top 5)
-
Melhores marcadores de sempre (top 10)
-
Short description about Champions League
-
Top Champions (top 5)
-
Best scorer (top 10)
Example: https://champions-league-challenge.herokuapp.com/api/champions-league
-
-
2 /api/champions-league/<season>/
-
País que recebe a final
-
Campeão
-
Vice-Campeão
-
Country that receives the final
-
Champion
-
Runners-up
Example: https://champions-league-challenge.herokuapp.com/api/champions-league/2017-18
-
-
3 /api/champions-league/<season>/teams/
-
Lista com todas as equipas da temporada em questão, assim como os seus respectivos nomes e países
-
List with all the teams of the season in question, as well as their respective names and countries
Example: https://champions-league-challenge.herokuapp.com/api/champions-league/2017-18/teams/
-
-
4 /api/champions-league/<season>/teams/<name>/
-
Nome
-
País
-
Número de títulos da liga dos campeões
-
Name
-
Country
-
Number of Champions League Titles
Example: https://champions-league-challenge.herokuapp.com/api/champions-league/2017-18/teams/madrid
-
-
5 /api/champions-league/<season>/group-stage/
-
Lista dos grupos da temporada em questão com suas respectivas equipas
-
Considerar apenas a classificação final dos grupos
-
List of groups of the season in question with their respective teams
-
Consider only the final classification of groups
Example: https://champions-league-challenge.herokuapp.com/api/champions-league/2017-18/group-stage
-
-
6 /api/champions-league/<season>/group-stage/<name>/
-
Considerar apenas a classificação final do grupo em questão
-
Consider only the final classification of the group in question
Example: https://champions-league-challenge.herokuapp.com/api/champions-league/2017-18/group-stage/A/
-
-
7 /api/champions-league/<season>/round-of-16/
-
Lista do chaveamento [Equipa 1 vs Equipa 2, ..., Equipa 15 vs Equipa 16]
-
Match lists [Team 1 vs Team 2, ..., Team 15 vs Team 16]
Example : https://champions-league-challenge.herokuapp.com/api/champions-league/2017-18/round-of-16
-
-
8 /api/champions-league/<season>/round-of-16/<team1>/vs/<team2>/
-
Deve mostrar o resultado da partida entre Equipa 1 vs Equipa 2.
-
Equipa 1 deve ser considerada como a equipa que joga em casa.
-
Should be the result of the match between Team 1 vs Team 2.
-
Team 1 should be considered as the team that plays at home.
-
-
9 /api/champions-league/<season>/quarter-finals/<team1>/vs/<team2>/
-
Deve mostrar o resultado da partida entre Equipa 1 vs Equipa 2.
-
Equipa 1 deve ser considerada como a equipa que joga em casa.
-
Should be the result of the match between Team 1 vs Team 2.
-
Team 1 should be considered as the team that plays at home.
-
-
10 /api/champions-league/<season>/semi-finals/<team1>/vs/<team2>/
-
Deve mostrar o resultado da partida entre Equipa 1 vs Equipa 2.
-
Equipa 1 deve ser considerada como a equipa que joga em casa.
-
Should be the result of the match between Team 1 vs Team 2.
-
Team 1 should be considered as the team that plays at home.
-
-
11 /api/champions-league/<team1>/final/<team1>/vs/<team2>/
-
Deve mostrar o resultado da partida entre Equipa 1 vs Equipa 2.
-
Deve mostrar o campeão
-
Deve mostrar o campeão
-
Should be the result of the match between Team 1 vs Team 2.
-
Show the Champion
-
Show the Runner-up
-
Segue a documentação sobre utilização dos parametros das requisições
Follow the documentation about use parameters of requisitions
- <season> : 2016-17, 2017-18...
- group-stage/<season>/ : A, B, C, D, E, F, G, H
- <team1> and <team2> : use somente a key do time / use only the team key :
anderlecht, feyenoord, porto, benfica, sportinglisboa, cskamoskva, spartak, celtic, besiktas, donezk, maribor, qarabag, olympiacos, apoel, barcelona, liverpool, bayern, dortmund, leipzig, chelsea, tottenham, manutd, mancity, madrid, atletico, sevilla, roma, juventus, napoli, paris, monaco, basel
Utilizado para boas práticas de programação em Python o PEP 8 -- Style Guide for Python Code como referência.
Used for good programming practice in Python the PEP 8 -- Style Guide for Python Code as a reference.