Uma aplicação web completa para monitoramento de suas API's locais em seu ambiente construído com Flask e NextJS. O Watcher API permite automatizar a vigilância de mudanças em sites específicos de forma eficiente.
O Watcher API resolve o problema do monitoramento manual de API's que estão rodando localmente em seu ambiente. Ele utiliza do requests do Python para obter o status e log, posteriormente, salvando em um banco de dados e retornando no front-end.
-
Objetivos: Notificar o usuário, em tempos determinados, o status atual da API.
-
Status: Em desenvolvimento (Alpha).
As principais ferramentas do projeto são:
- Python - Linguagem base
- Flask - Back-end
- NextJS - Front-end
- Requests - Para obter status das url's
- SQLAlchemy - Controle do banco de dados (SQLite)
Siga os passos para instalar e rodar o projeto.
-
Clone o repositório:
git clone [https://github.com/carlusnz-dev/watcher-api.git](https://github.com/carlusnz-dev/watcher-api.git) cd watcher-api/server -
Crie e ative o ambiente virtual:
python3 -m venv watcher_venv source watcher_venv/bin/activate # Linux/macOS # No Windows: .\watcher_venv\Scripts\activate
-
Instale as dependências:
npm install pip install -r requirements.txt
-
Rode o projeto
npm run dev
watcher-api/
├── server/ # API Flask
│ ├── app/ # Código da aplicação (Models, Routes, Services)
│ ├── instance/ # Banco de dados SQLite
│ └── run.py # Entry point do Flask
├── watcher-frontend/ # Aplicação Next.js
├── scripts/ # Scripts de automação cross-platform
└── package.json # Gerenciador de scripts globalPrincipais endpoints disponíveis no Backend:
-
GET /api/monitor/read_all - Lista todos os monitores.
-
POST /api/monitor/add - Cria um novo monitor.
-
PUT /api/monitor/update/(id) - Atualiza um monitor.
-
DELETE /api/monitor/delete/(id) - Remove um monitor e para seu agendamento.
-
GET /api/monitor/watcher/(id) - Comandos globais (start, stop, pause).
Contribuições são bem-vindas! Sinta-se à vontade para abrir Issues ou enviar Pull Requests.
-
Faça um Fork do projeto
-
Crie uma Branch para sua Feature (git checkout -b feature/MinhaFeature)
-
Faça o Commit de suas mudanças (git commit -m 'Adiciona MinhaFeature')
-
Faça o Push para a Branch (git push origin feature/MinhaFeature)
-
Abra um Pull Request
Este projeto está sob a licença GNU - veja o arquivo LICENSE para detalhes.
Criado por carlusnz-dev, Carlos Antunes - 2025
- LinkedIn: https://www.linkedin.com/in/carlusnzdev/
- Instagram: @carlusnzdev