Loading repository data…
Loading repository data…
Sublian / repository
Sistema de Envío de Frases Diarias . Un sistema web completo para el envío automatizado de frases diarias por correo electrónico, con gestión de usuarios y panel de administración.
Un sistema web completo para el envío automatizado de frases diarias por correo electrónico, con gestión de usuarios y panel de administración.
git clone <url-del-repositorio>
cd <nombre-del-directorio>
python -m venv venv
# En Windows:
venv\Scripts\activate
# En Linux/Mac:
source venv/bin/activate
pip install -r requirements.txt
.env:# Configuración de Email (Gmail)
EMAIL_USER=your_gmail@gmail.com
EMAIL_PASSWORD=your_app_password
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
# Configuración de la Base de Datos
DB_USER=your_db_user
DB_PASSWORD=your_db_password
DB_HOST=localhost
DB_NAME=frases_db
# Configuración de la Aplicación
FLASK_SECRET_KEY=generate_a_secure_random_key_here
FLASK_DEBUG=True
LOG_LEVEL=INFO
MAX_RETRY_ATTEMPTS=3
# Ejecutar el script SQL de la estructura inicial
mysql -u your_db_user -p your_db_name < database_template.txt
# Ejecutar las migraciones
mysql -u your_db_user -p your_db_name < stable/migrations/001_add_auth_fields.sql
mysql -u your_db_user -p your_db_name < stable/migrations/002_set_admin_user.sql
mysql -u your_db_user -p your_db_name < stable/migrations/003_add_pendiente_role.sql
stable/
├── auth.py # Autenticación y autorización con Flask-Login
├── config.py # Configuración de la aplicación
├── database.py # Conexión a base de datos con pool de conexiones
├── email_service.py # Servicio de envío de correos
├── flask_app.py # Aplicación principal Flask
├── frase_service.py # Servicio de gestión de frases
├── models.py # Modelos y servicios (UserService, StatsService)
├── routes.py # Rutas de la aplicación (830 líneas)
├── user_service.py # Servicio especializado de usuarios
├── token_service.py # Servicio de tokens para confirmación
├── migrations/ # Scripts de migración de base de datos
│ ├── 001_add_auth_fields.sql
│ ├── 002_set_admin_user.sql
│ └── 003_add_pendiente_role.sql
├── scripts/ # Scripts de utilidad y mantenimiento
│ ├── run_migrations.py # Ejecutor automático de migraciones
│ ├── set_admin_password.py # Configuración de contraseña admin
│ ├── set_default_passwords.py # Configuración de contraseñas por defecto
│ └── test/ # Scripts de testing
│ ├── test_confirmation_flow.py # Test del flujo de confirmación
│ ├── test_email_functionality.py # Test de funcionalidad de email
│ └── test_envio_mejorado.py # Test de envío mejorado
└── templates/ # Plantillas HTML con Bootstrap
├── base.html
├── dashboard.html
├── profile.html
├── frases.html
├── usuarios.html
├── login.html
└── establecer_password.html
Autenticación:
Configuración:
Base de datos:
Aplicación:
✅ Completado:
🎯 Mejoras Planificadas:
Inmediato (En Progreso):
Corto plazo (Próximas 2-4 semanas):
Mediano plazo (1-3 meses):
Largo plazo (3+ meses):
git checkout -b feature/NuevaFuncionalidad)git commit -m 'Agregar nueva funcionalidad')git push origin feature/NuevaFuncionalidad)Distribuido bajo la Licencia MIT. Ver LICENSE para más información.