Para iniciar os serviços do back e front, executar os comandos abaixo para iniciar cada aplicação.
backend (fastapi):
cd web4
uvicorn main:app --reload
frontend (svelte):
cd web4/front
npm run dev -- --open
Atenção: se você fez git clone ou download desse projeto, o ambiente virtual precisa ser gerado na sua máquina. Executar os comandos abaixo para criar cada ambiente:
(1) Abrir o terminal, usar o git para baixar uma cópia desse projeto:
git clone https://github.com/fscheidt/web4
(2) Gerar ambiente virtual do backend (python):
cd web4
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt
Resultado: a pasta env
é criada no projeto:
├── /env <--
├── /front
├── /json
├── /pycine
├── main.py
├── README.md
└── requirements.txt
(3) Instalar dependências do frontend (nodejs):
cd front
npm install
Resultado: a pasta node_modules
e .svelte-kit
são geradas:
├── /env
├── /front
│ ├── /node_modules <--
│ ├── /.svelte-kit <--
├── /json
├── /pycine
├── main.py
├── README.md
└── requirements.txt
Pydantic é uma biblioteca que facilita a serialização e deserialização de objetos em json e vice-versa. Além disso, pode-se usar o esquema de validação do pydantic para verificar se o json retornado possui os valores obrigatórios.
Instalação:
pip install pydantic
Gera um arquivo contendo todas as dependências do projeto:
source env/bin/activate
pip freeze > requirements.txt
Restaura o ambiente virtual
python3 -m venv env
pip install -r requirements.txt
Credenciais devem ser armazenadas em um arquivo de configuração, que não está rastreado pelo controle de versão ou seja compartilhado.
Permite a leitura do arquivo .env de configuração
pip install python-dotenv
Na pasta raiz do projeto, criar um arquivo chamado .env
com o conteúdo:
API_TOKEN = "COLOCAR_AQUI_O_TOKEN_DO_TMDB"
import os
import dotenv
dotenv.load_dotenv(".env")
token = os.environ["API_TOKEN"]
https://api.themoviedb.org/3/search/person?id=2000
https://api.themoviedb.org/3/search/person/2000
- Cadastro no site para gerar a chave da API:
- https://www.themoviedb.org/settings/api
python3 -m venv env
Ativa o ambiente para usar no projeto.
source env/bin/activate
# windows
.\env\scripts\activate
which python
pip install requests
Instalar o fastapi e o servidor uvicorn
pip install "fastapi[standard]" uvicorn
uvicorn main:app --reload
uvicorn main:app --reload --port=5000 # opcional se a port 8000 estiver em uso
- JSON (serialização de dados)
- API (application program interface)
- REST
Testar no terminal:
python3 --version
pip -V
extensão do vscode:
- thunder client
Notação para representar dados, usando chave-valor
{
"id": 13491,
"disciplina": "DESENVOLVIMENTO WEB IV",
"curso": {
"nome": "tads",
"turma": 2023
},
"professores": ["Felippe"],
"alunos": 14,
"turno": "noturno",
"ativa": true,
"ava": null,
"percentual": 5.5
}
Validação do json:
Estruturar numa representação json informações sobre filmes e series
Proponha um JSON que represente os dados contidos na página "ficha técnica".
Estruturar JSON para representar dados sobre a capital até Internet TLD do país Chile. Ver dados na página: