API estática do aplicativo mobilidade.rio da Prefeitura do Rio de Janeiro.
Acesse a wiki para saber maiores detalhes do projeto, como:
project
Para definir se o projeto deve rodar como native, dev, staging, prod é preciso configurar um .env, e se achar necessário alterar o settings do Django basta criar um arquivo customizado como no exemplo abaixo:
mobilidade-rio-api/
📂 mobilidade_rio/
📂 local_dev/
⚙️ api-native.env
📂 settings/
...
📂 local_dev/
🐍 native.py
🐍 docker.py
Criar ambiente virtual Python
Anaconda:
conda create -n mobilidade_rio_api python=3.9
conda activate mobilidade_rio_api
pip install -r mobilidade_rio/requirements.txt -r requirements-dev.txt
Criar arquivos de desenvolvimento local:
Bash ou powershell:
cp dev/mobilidade_rio/local_dev_example mobilidade_rio/local_dev -r
cp dev/mobilidade_rio/settings/local_dev_example mobilidade_rio/settings/local_dev -r
Resultado:
mobilidade-rio-api/
...
📂 mobilidade_rio/ # "src/"
...
📂 local_dev/
🐋 Dockerfile
🐋 docker-compose.yml
⚙️ api-native.env
⚙️ api.env
...
📂 mobilidade_rio/ # app principal
📂 settings/
...
📂 local_dev/
🐍 native.py
docker-compose -f "mobilidade_rio/local_dev/docker-compose.yml" up --build
Iniciar o ambiente virtual (recomendado, toda vez que abrir um terminal)
conda activate mobilidade_rio_api
Carregando o .env na sessão atual do terminal
Bash
source mobilidade_rio/local_dev/api-native.env
Powershell
project env api-native
Para mais informações rode project help
Iniciar servidor:
Bash
python mobilidade_rio/manage.py migrate
python mobilidade_rio/manage.py runserver 8001
Powershell
project runserver native
dev
usa a configuração dev.URL base para acessar a aplicação:
localhost:8001
(sugerido)localhost:8010
(sugerido)https://api.dev.mobilidade.rio
https://api.staging.mobilidade.rio
https://api.mobilidade.rio
Recomenda-se o pgAdmin para gerenciar o banco de dados.
Carregue os dados no servidor (pgAdmin web)
backup
ou similar...
> Upload
⚠️ Não selecione uma pasta inteira, pode causar falha no upload
Esvazie todas as tabelas:
-- Truncate tables
TRUNCATE
pontos_agency,
pontos_calendar,
pontos_calendardates,
pontos_frequencies,
pontos_routes,
pontos_shapes,
pontos_stops,
pontos_stoptimes,
pontos_trips
RESTART IDENTITY CASCADE
Carregue os dados para as tabelas
Tools
> Import/Export data
Confira se os dados subiram
Execute esta query para verificar:
-- Count tables
SELECT 'pontos_agency' AS table_name, COUNT(*) AS row_count FROM pontos_agency UNION ALL
SELECT 'pontos_calendar' AS table_name, COUNT(*) AS row_count FROM pontos_calendar UNION ALL
SELECT 'pontos_calendardates' AS table_name, COUNT(*) AS row_count FROM pontos_calendardates UNION ALL
SELECT 'pontos_frequencies' AS table_name, COUNT(*) AS row_count FROM pontos_frequencies UNION ALL
SELECT 'pontos_routes' AS table_name, COUNT(*) AS row_count FROM pontos_routes UNION ALL
SELECT 'pontos_shapes' AS table_name, COUNT(*) AS row_count FROM pontos_shapes UNION ALL
SELECT 'pontos_stops' AS table_name, COUNT(*) AS row_count FROM pontos_stops UNION ALL
SELECT 'pontos_stoptimes' AS table_name, COUNT(*) AS row_count FROM pontos_stoptimes UNION ALL
SELECT 'pontos_trips' AS table_name, COUNT(*) AS row_count FROM pontos_trips;