Contato
-
Email: [email protected]
-
GitHub: https://github.com/salarini-e
Este projeto é um sistema de coleta e visualização de dados meteorológicos, desenvolvido em Django. O sistema permite coletar dados de diferentes estações meteorológicas, visualizá-los através de uma interface web amigável, e possibilita que os usuários sugiram novas estações para serem adicionadas ao sistema.
Para usuários linux
## setup a venv inside this project
python -m venv .venv
## enter your venv
source ./venv/bin/activate
## install the dependencies
python -m pip install -r requirements.txt
## do the db migrations
python manage.py migrate
Inicia a aplicação
## run django server
python manage.py runserver
Rode sua primeira coleta de dados
curl 127.0.0.1:8000/get_data/ -s -o /dev/null
curl 127.0.0.1:8000/create_demo_sources/ -s -o /dev/null
Abra em seu navegador localhost:8000
Você deve adicionar no cron a rota localhost:8000/get-dados/ a cada 15min
No cron adicione essa linha
*/15 * * * * curl -s http://<dominio>/get-dados/ > /dev/null 2>&1
Não esqueça de por o dóminio correto.
Por exemplo: https://cdm.esalarini.com.br/get-dados/ ou http://localhost:8000/get-dados/
-
Coleta de Dados: Coleta automática de dados meteorológicos de diversas fontes.
-
Visualização de Dados: Interface web para visualização dos dados coletados.
-
Filtragem: Possibilidade de filtrar dados por data, fonte e outros parâmetros.
-
Sugestão de Estações: Os usuários podem sugerir novas estações meteorológicas para serem adicionadas ao sistema.
-
Gerenciamento de Sugestões: Interface administrativa para aprovação ou rejeição de sugestões de estações.
O projeto está organizado nos seguintes aplicativos Django:
-
data_scraper: Responsável pela coleta de dados meteorológicos.
-
Implementa Web Scraping para coletar dados automaticamente
-
Define modelos para armazenamento de dados meteorológicos
-
Gerencia as fontes de dados (estações)
-
Processa sugestões de novas estações
-
data_display: Gerencia a exibição e visualização dos dados coletados.
-
Interface de usuário para visualização de dados
-
Exportação de dados para CSV
-
Filtragem de dados por período e fonte
-
Interface para sugerir e gerenciar novas estações
-
authentication: Lida com autenticação e autorização de usuários.
-
Controle de acesso a funcionalidades administrativas
Este é um projeto open source e contribuições são bem-vindas. Para contribuir:
-
Faça um fork do repositório
-
Crie uma branch para sua feature (
git checkout -b feature/nova-feature) -
Commit suas mudanças (
git commit -am 'Adiciona nova feature') -
Push para a branch (
git push origin feature/nova-feature) -
Crie um novo Pull Request
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para mais detalhes.