¡Bienvenido/a a VoluntApp! Este proyecto es un prototipo educativo que integra varias tecnologías para demostrar cómo crear una aplicación web (y base para móvil) que conecte a personas con actividades de voluntariado y responsabilidad social.
- Registro e Inicio de Sesión (Flask-Login y WTForms)
- Soporta distintos roles: voluntario, organización y administrador.
- Mapa Interactivo (Folium)
- Centrado en Madrid, con marcadores de organizaciones reales (Banco de Alimentos, Cruz Roja).
- Gestión de Actividades
- Crear y listar oportunidades de voluntariado.
- Inscribirse y registrar la participación.
- Registro de Horas
- Cada usuario voluntario va sumando sus horas.
- Reportes en PDF (ReportLab)
- Permite exportar fácilmente el listado de actividades y horas.
- Python (3.x)
- Flask (microframework web)
- Flask-Login (gestión de sesiones de usuario)
- Flask-WTF y WTForms (creación y validación de formularios)
- SQLite (base de datos local)
- Folium (integración de mapas interactivos)
- ReportLab (generación de reportes en PDF)
- Werkzeug Security (hashing de contraseñas)
En un solo archivo VoluntApp.py para fines didácticos:
- Modelos (User, Organizacion, Actividad) con SQLAlchemy.
- Formularios WTForms (RegisterForm, LoginForm, ActividadForm).
- Rutas de Flask para registro, login, mapa, actividades, PDF, etc.
- Plantillas incrustadas mediante
render_template_string(idealmente se usarían archivos HTML en/templates). - Inicialización de la base de datos y creación de usuarios y organizaciones de ejemplo.
- Instalar dependencias:
pip install flask flask_sqlalchemy flask_login flask_wtf wtforms folium reportlab
- Iniciar la aplicación:
python VoluntApp.py