Skip to content

ggerake/monitor_holidays

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Verificador de Feriados Nacionais

Esse projeto faz parte de um conjunto de projetos que tem como objetivo 'simular' rotinas Python para uma aplicação que gerência rotinas.

Este projeto é uma ferramenta de linha de comando desenvolvida em Python que busca e exibe todos os feriados públicos de um determinado ano e país. A aplicação utiliza uma arquitetura modular e orientada a objetos para garantir um código limpo, legível e de fácil manutenção.

✨ Features

  • Consulta feriados públicos por ano e código do país.
  • Utiliza a API pública e gratuita Nager.Date.
  • Exibe os feriados com data formatada (DD/MM/AAAA) e o dia da semana correspondente em português.
  • Estrutura de projeto bem definida, separando a lógica de negócio, modelos de dados e apresentação.

📂 Arquitetura do Projeto

O projeto está organizado na seguinte estrutura de pastas, que promove a separação de responsabilidades (Separation of Concerns):

feriados_nacionais/
├── main.py                 # Ponto de entrada e orquestrador da aplicação
├── services/
│   ├── __init__.py
│   ├── holiday_service.py  # Lida com a lógica de negócio e a comunicação com a API
│   └── output_formatter.py # Responsável por formatar e exibir a saída para o usuário
└── models/
    ├── __init__.py
    └── holiday.py          # Define o modelo de dados para um feriado

🛠️ Tecnologias Utilizadas

  • Python 3.x
  • Biblioteca requests: Para realizar as chamadas HTTP à API externa.

🚀 Como Executar

Siga os passos abaixo para clonar e executar o projeto em sua máquina.

1. Pré-requisitos

  • É necessário ter o Python 3 instalado.
  • O uso de um ambiente virtual (venv) é fortemente recomendado para gerenciar as dependências do projeto de forma isolada.
# Crie e ative um ambiente virtual (opcional)
python -m venv venv
# No Windows: venv\Scripts\activate
# No macOS/Linux: source venv/bin/activate

2. Instalação das Dependências

A única dependência externa deste projeto é a biblioteca requests. Para instalá-la, execute o comando:

pip install requests

3. Executando a Aplicação

Com o ambiente configurado e as dependências instaladas, navegue até a pasta raiz do projeto (feriados_nacionais/) e execute o script principal:

python main.py

Você pode alterar o ano e o código do país diretamente no arquivo main.py para fazer outras consultas.

📝 Descrição dos Módulos

  • main.py: Ponto de entrada que coordena a execução. Ele instancia os serviços, solicita a busca dos feriados e chama o formatador para exibir os resultados.
  • models/holiday.py: Define a classe Holiday, que serve como um modelo para estruturar os dados de cada feriado recebido da API. Isso torna a manipulação dos dados mais segura e intuitiva.
  • services/holiday_service.py: Contém a classe HolidayService, responsável por toda a lógica de negócio, incluindo a comunicação com a API Nager.Date, o tratamento de erros e a conversão dos dados JSON em objetos Holiday.
  • services/output_formatter.py: Possui a classe OutputFormatter, cuja única função é receber a lista de feriados já processada e apresentá-la de forma clara e organizada no terminal.

🖥️ Exemplo de Saída

A execução do script irá gerar uma saída no console semelhante à mostrada abaixo:

--- Verificador de Feriados Nacionais ---
Buscando dados em: [https://date.nager.at/api/v3/PublicHolidays/2025/BR](https://date.nager.at/api/v3/PublicHolidays/2025/BR)...

========================================
 Feriados Nacionais de 2025 - País: BR
========================================
- 01/01/2025 (Quarta-feira): Confraternização Universal
- 03/03/2025 (Segunda-feira): Carnaval
- 04/03/2025 (Terça-feira): Carnaval
- 18/04/2025 (Sexta-feira): Sexta-feira Santa
- 21/04/2025 (Segunda-feira): Tiradentes
- 01/05/2025 (Quinta-feira): Dia do Trabalho
- 19/06/2025 (Quinta-feira): Corpus Christi
- 07/09/2025 (Domingo): Independência do Brasil
- 12/10/2025 (Domingo): Nossa Senhora Aparecida
- 02/11/2025 (Domingo): Finados
- 15/11/2025 (Sábado): Proclamação da República
- 20/11/2025 (Quinta-feira): Dia Nacional de Zumbi e da Consciência Negra
- 25/12/2025 (Quinta-feira): Natal
========================================

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages