tourplan
Aplicación web auto-alojada ligera para planificación de fechas grupales, optimizada para familias y personas con baja alfabetización digital. Usa FastAPI + SQLite sin contenedores.
Ficha actualizada 26 sept 2026, 17:57 · upstream 26 sept 2026, 17:20 · release sin release detectada
Qué es tourplan
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Tourplan es una aplicación web minimalista diseñada para facilitar la selección de fechas en viajes o reuniones grupales, especialmente pensada para entornos familiares donde algunos miembros tienen poca experiencia tecnológica. La interfaz utiliza un sistema binario simplificado: cada día comienza marcado como disponible (verde) y los usuarios solo deben tocarlo si no pueden asistir (rojo), eliminando formularios complejos o selecciones arrastrables que confunden a personas mayores.
La arquitectura se basa en FastAPI con SQLite (WAL) como base de datos, Jinja2 para plantillas y JavaScript vanilla en el frontend. No requiere compilación ni Node.js; solo `pip install` y ~50 MB RAM. La seguridad está integrada mediante cookies HMAC firmadas para visitantes sin registro, autenticación CSRF en formularios admin, contraseñas hash con scrypt y rate-limiting en endpoints críticos. Todo el estado persiste en un directorio `data/` local.
El despliegue recomendado es manual en sistemas Debian o Raspberry Pi usando systemd como servicio, con usuario no privilegiado (`tourplan`) y permisos restrictivos para aislar datos sensibles. Se sugiere usar Cloudflare Tunnel o reverse proxy para exponer el puerto 8100 sin abrir puertos directos al firewall.
- Planificación de viajes familiares donde los miembros tienen baja competencia tecnológica
- Gestión de disponibilidad grupal sin necesidad de registro de usuarios ni cuentas complejas
- Herramienta rápida para eventos temporales con fecha límite configurable por plan
- Alternativa ligera a When2Meet/Google Calendar para grupos pequeños que prefieren simplicidad sobre funcionalidades avanzadas
- Interfaz binaria simplificada (verde=disponible, rojo=no disponible) optimizada para móviles y personas mayores
- Persistencia de votos mediante cookies firmadas sin requerir autenticación explícita para visitantes
- Arquitectura minimalista con ~50MB RAM y sin build step, ejecutable directamente con pip install
- Mecanismo de seguridad robusto: scrypt-hashing, HMAC-signed cookies, CSRF protection y rate-limiting en endpoints críticos
- Base de datos SQLite WAL no soporta concurrencia masiva ni replicación automática; requiere copias de seguridad manuales rotativas
- No incluye Dockerfile ni docker-compose, obligando a despliegue manual con systemd o scripts shell
- La aplicación se une a 127.0.0.1 por defecto, requiriendo configuración adicional de reverse proxy para acceso externo seguro
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Instalar en servidor Debian/Raspberry Pi con usuario no privilegiado (tourplan) y permisos restrictivos en /root/. Usar Cloudflare Tunnel para exponer el puerto 8100 sin abrir puertos directos. Configurar backup nocturno de SQLite a disco externo rotativo. Añadir WAF geo-restricted al endpoint /admin* vía reglas Cloudflare.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.