Este projeto é uma mini agenda interativa feita com HTML, CSS e JavaScript puro (sem bibliotecas externas), ideal para quem está aprendendo a programar e deseja aplicar conhecimentos em DOM, manipulação de datas, eventos e lógica de front-end.
- Visualização de um calendário mensal com destaque para o dia atual.
- Adição de eventos com horário, título, participante e e-mail.
- Visualização de eventos por dia.
- Tentativa de alerta via
popup5 minutos antes de cada evento (não funcionou). - Interface simples, clara e 100% funcional em navegador moderno.
todolist/
│
├── index.html # Estrutura da página (calendário + formulário)
├── style.css # Estilização da agenda e do calendário
└── script.js # Lógica para interações, eventos e alertas
- Clone o repositório:
git clone https://github.com/labarboza14/miniagenda.git
cd miniagenda- Abra o arquivo
index.htmlno navegador:
Você pode simplesmente clicar duas vezes no arquivo ou usar uma extensão como Live Server no VS Code para recarregamento automático.
Este projeto é excelente para praticar:
- Manipulação do DOM com JavaScript puro
- Uso de
Date()esetIntervalpara controle de tempo - Estruturação de layouts com Grid e Flexbox
- Armazenamento temporário em memória (via arrays)
- Atualização dinâmica da interface
- Eventos de clique,
inputesubmit
-
Clique em um dia do calendário.
-
Preencha o formulário:
- Título do evento
- Horário (formato
HH:MM) - Nome do participante
- E-mail (simulado, não envia)
-
Clique em "Adicionar Evento".
-
O evento aparecerá na lateral, abaixo do calendário.
✅ Um alerta será exibido 5 minutos antes do horário do evento, se a aba estiver aberta.
- A notificação via
alert()para lembrar do evento 5 minutos antes não funcionou de forma confiável, especialmente se a aba do navegador não estiver ativa. - A implementação do alerta é simples, mas aplicativos reais usam notificações do sistema (push notifications) que exigem permissões específicas e APIs mais avançadas.
- Foi um desafio construir um calendário e sistema de eventos do zero, pois já existem muitas soluções e apps consolidados que fazem isso com alta complexidade e recursos.
- O foco aqui foi criar um projeto didático para fixar conceitos básicos de JavaScript e manipulação de datas.
- Implementar notificações push usando a API de Notificações do navegador.
- Armazenar os eventos com
localStoragepara persistência. - Permitir edição e exclusão de eventos.
- Integrar com APIs externas de calendários (Google Calendar, Outlook).
- Exportar eventos em formatos padrão (.ics, .csv).
- Adicionar responsividade para dispositivos móveis.
- Estudantes de JavaScript iniciantes/intermediários
- Pessoas que querem aprender a criar interfaces dinâmicas sem frameworks
- Quem busca um projeto pequeno, prático e útil para o portfólio