Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

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

Ver códigoProblemas y ayudaRepositorio ↗
00

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.

CASOS DE USO
  • 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
PUNTOS DESTACADOS
  • 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
PRECAUCIONES
  • 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
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

imageimage
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

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.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Node.jsFastAPIPython
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
8100
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

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.