📅 Calendario Personal Web¶
Una aplicación web de calendario interactivo que permite agregar, editar y eliminar eventos diarios mediante una interfaz clara, adaptada para escritorio y dispositivos móviles.
✨ Características¶
- Visualización mensual con navegación entre meses.
- Interfaz limpia, con colores suaves y adaptativa para pantallas pequeñas.
- Posibilidad de:
- Agregar eventos con título y descripción.
- Editar o eliminar eventos existentes.
- Ver descripciones mediante tooltips al pasar el mouse o tocar.
- Modal de selección rápida de mes y año.
- Almacenamiento de eventos en el servidor (formato JSON).
🛠 Archivos principales¶
| Archivo | Descripción |
|---|---|
| index.html | Interfaz de usuario y lógica principal del calendario. |
| calendar.php | Backend en PHP para guardar, cargar y eliminar eventos. |
| index2.html | Interfaz de usuario y lógica principal del calendario. |
| calendar2.php | Backend en PHP para guardar, cargar y eliminar eventos. |
💾 Estructura de datos¶
Los eventos se almacenan en un archivo .json como este:
{
"2025-07-05": {
"events": [
{
"id": "abc123",
"title": "Reunión",
"date": "2025-07-05",
"description": "Planificación mensual"
}
]
}
}
📦 Requisitos¶
- Un servidor web con soporte PHP (por ejemplo: Apache, Nginx).
- Permisos de escritura en el directorio donde se encuentra
calendar.php.
🚀 Instalación¶
- Clonar o copiar los archivos
index.htmlycalendar.phpa tu servidor. - Crear un archivo llamado
data.jsonvacío junto acalendar.php:
touch data.json
chmod 666 data.json
- Abrir
index.htmldesde el navegador o alojarlo en el servidor.
🔐 Seguridad¶
Este calendario está pensado para uso personal/local. No incluye autenticación. Si vas a publicarlo en línea:
- Restringí el acceso a
calendar.phpmediante.htaccesso autenticación. - Validá entradas en el backend para prevenir inyecciones maliciosas.
📱 Compatibilidad¶
- Funciona en la mayoría de navegadores modernos (Chrome, Firefox, Brave).
- Adaptado a dispositivos móviles con estilos responsivos.
📝 Notas¶
- El toque prolongado para editar eventos en móviles puede necesitar ajustes según el dispositivo.
Desarrollado para uso personal o como base para futuras ampliaciones.