Skip to content

Commit cec4473

Browse files
committed
Add readme
1 parent 1e90ebf commit cec4473

2 files changed

Lines changed: 180 additions & 1 deletion

File tree

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
*
22
!umbrellaRemember.py
33
!.gitignore
4-
!.github
4+
!.github
5+
!readme.md

readme.md

Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
- **# 🌂 Umbrella Remember**
2+
3+
Sistema automatizado de lembrete de guarda-chuva que verifica a previsão do tempo diariamente e envia notificações push quando há possibilidade de chuva.
4+
5+
**## 📋 Descrição**
6+
7+
O **Umbrella Remember** é um script Python que:
8+
- Consulta a API do OpenWeatherMap para obter a previsão do tempo
9+
- Analisa se há possibilidade de chuva no dia atual
10+
- Envia notificações push via [ntfy.sh](https://ntfy.sh) para lembrar de levar o guarda-chuva
11+
- Executa automaticamente todos os dias às 6h da manhã via GitHub Actions
12+
13+
**## 🏙️ Localização**
14+
15+
Atualmente configurado para **João Pessoa, Paraíba, Brasil**.
16+
17+
**## 🔧 Configuração**
18+
19+
**### 1. Pré-requisitos**
20+
- Python 3.13+
21+
- Conta no [OpenWeatherMap](https://openweathermap.org/api) (gratuita)
22+
- Repositório no GitHub (para automação)
23+
24+
**### 2. Dependências**
25+
26+
```bash
27+
28+
pip install requests python-dotenv
29+
30+
```
31+
32+
**### 3. Variáveis de Ambiente**
33+
34+
Crie um arquivo `.env` na raiz do projeto:
35+
36+
```env
37+
38+
OPENWEATHER_API_KEY=sua_chave_api_aqui
39+
40+
```
41+
42+
**### 4. Configuração no GitHub**
43+
44+
1. Vá em **Settings** > **Secrets and variables** > **Actions**
45+
2. Adicione um novo secret:
46+
47+
 - **Name**: `OPENWEATHER_API_KEY`
48+
49+
 - **Value**: Sua chave da API do OpenWeatherMap
50+
51+
**## 🚀 Como Usar**
52+
53+
**### Execução Local**
54+
```bash
55+
python umbrellaRemember.py
56+
57+
```
58+
**### Execução Automática**
59+
60+
O GitHub Actions executará automaticamente todos os dias às **6h da manhã** (horário brasileiro).
61+
62+
**### Execução Manual no GitHub**
63+
1. Vá na aba **Actions** do repositório
64+
2. Selecione o workflow **Umbrella Reminder**
65+
3. Clique em **Run workflow**
66+
67+
**## 📱 Notificações**
68+
69+
As notificações são enviadas via **ntfy.sh** no tópico `RainInJpCity`.
70+
71+
**### Para receber notificações:**
72+
1. Instale o app [ntfy](https://ntfy.sh/app) no seu celular
73+
2. Inscreva-se no tópico: `RainInJpCity`
74+
75+
**### Tipos de notificação:**
76+
77+
**🌧️ Quando vai chover:**
78+
79+
- **Título**: "Importante: Chuva HOJE!"
80+
- **Mensagem**: "Leve um guarda-chuva!"
81+
- **Prioridade**: Alta
82+
- **Tags**: warning, rain
83+
84+
**☀️ Quando não vai chover:**
85+
- **Mensagem**: "Sem chuva para hoje!"
86+
87+
**## 📁 Estrutura do Projeto**
88+
89+
```
90+
91+
UmbrellaRemember/
92+
93+
├── .github/
94+
95+
│   └── workflows/
96+
97+
│       └── umbrella.yml        # Configuração do GitHub Actions
98+
99+
├── umbrellaRemember.py         # Script principal
100+
101+
├── .env                        # Variáveis de ambiente (não commitado)
102+
103+
├── .gitignore                  # Arquivos ignorados pelo Git
104+
105+
└── README.md                   # Este arquivo
106+
107+
```
108+
109+
**## ⚙️ Funcionamento**
110+
111+
1. **6h da manhã**: GitHub Actions executa o script automaticamente
112+
2. **Geocodificação**: Converte "João Pessoa" em coordenadas (lat/lon)
113+
3. **Previsão**: Consulta API do OpenWeatherMap para previsão do dia
114+
4. **Análise**: Verifica se há chuva prevista para hoje
115+
5. **Notificação**: Envia alerta via ntfy.sh
116+
117+
**## 🔄 Personalização**
118+
119+
**### Alterar Cidade**
120+
121+
Modifique as constantes no arquivo `umbrellaRemember.py`:
122+
```python
123+
CITY = 'Sua Cidade'
124+
125+
STATE_CODE = 'Seu Estado'
126+
127+
COUNTY_CODE = 'BR'
128+
129+
```
130+
**### Alterar Horário**
131+
132+
Edite o cron no arquivo `.github/workflows/umbrella.yml`:
133+
134+
```yaml
135+
136+
schedule:
137+
- cron: '0 09 * * *'  # UTC (ajuste conforme seu fuso)
138+
139+
```
140+
141+
**### Alterar Tópico de Notificação**
142+
143+
Modifique a URL no script:
144+
145+
```
146+
147+
'https://ntfy.sh/SeuTopicoPersonalizado'
148+
149+
```
150+
151+
**## 🛠️ Tecnologias Utilizadas**
152+
- **Python**: Linguagem principal
153+
- **OpenWeatherMap API**: Dados meteorológicos
154+
- **ntfy.sh**: Serviço de notificações push
155+
- **GitHub Actions**: Automação e agendamento
156+
- **requests**: Requisições HTTP
157+
- **python-dotenv**: Gerenciamento de variáveis de ambiente
158+
159+
**## 📊 Status**
160+
- ✅ Funcionando automaticamente
161+
- ✅ Notificações em português
162+
- ✅ Execução diária às 6h
163+
- ✅ Prioridade alta para dias chuvosos
164+
165+
**## 🤝 Contribuição**
166+
167+
1. Fork o projeto
168+
2. Crie uma branch para sua feature (`git checkout -b feature/NovaFeature`)
169+
3. Commit suas mudanças (`git commit -m 'Adiciona nova feature'`)
170+
4. Push para a branch (`git push origin feature/NovaFeature`)
171+
5. Abra um Pull Request
172+
173+
**## 📄 Licença**
174+
175+
Este projeto está sob a licença MIT. Veja o arquivo `LICENSE` para mais detalhes.
176+
---
177+
178+
**🌦️ Nunca mais esqueça o guarda-chuva!**

0 commit comments

Comments
 (0)