Makerpage / README.md
Edoruin's picture
password recuperation scripts
1ac174c
metadata
title: Makerpage
emoji: 🛠️
colorFrom: blue
colorTo: purple
sdk: docker
app_file: app/main.py
pinned: false

🛠️ Makerpage - Sistema de Gestión Maker Space

Aplicación web para gestionar préstamos de herramientas y proyectos en un Maker Space, con integración de Telegram para notificaciones y aprobaciones.

🌟 Características

  • 📝 Registro y autenticación de usuarios con aprobación por administrador
  • 🔐 Recuperación de contraseña vía email
  • 🛠️ Sistema de préstamos de herramientas y dispositivos
  • 📱 Integración con Telegram para notificaciones y aprobaciones en tiempo real
  • 📊 Gestión de proyectos GitLab
  • 💾 Persistencia de datos con Hugging Face Datasets

🚀 Configuración

1. Configurar Variables de Entorno

En Settings → Repository secrets, configura las siguientes variables:

Variables Obligatorias

Variable Descripción
SECRET_KEY Clave secreta de Flask (genera con: python3 -c "import secrets; print(secrets.token_hex(32))")

Variables para Persistencia (Hugging Face Datasets)

Variable Descripción
HF_TOKEN Token de Hugging Face con permisos de escritura (crear aquí)
HF_DATASET_USERS Nombre del dataset para usuarios (ej: tu-usuario/makerpage-users)
HF_DATASET_LOANS Nombre del dataset para préstamos (ej: tu-usuario/makerpage-loans)

Nota: Los datasets deben ser privados (contienen contraseñas hasheadas). Se crearán automáticamente al guardar el primer registro.

Variables Opcionales (Funcionalidades Adicionales)

Variable Descripción
TELEGRAM_TOKEN Token de tu bot de Telegram
TELEGRAM_CHAT_ID ID del chat para notificaciones
GOOGLE_PROXY_URL URL del proxy de Google Script
GITLAB_TOKEN Token de acceso personal de GitLab
GITLAB_GROUP_ID ID del grupo de GitLab
RESEND_API_KEY API key de Resend para emails
FROM_EMAIL Email remitente verificado en Resend

2. Desplegar

El Space se desplegará automáticamente al hacer push al repositorio.

💾 Persistencia de Datos

La aplicación usa Hugging Face Datasets para almacenamiento persistente:

  • Con HF_TOKEN configurado: Los datos se guardan en datasets privados de HF y persisten permanentemente
  • ⚠️ Sin HF_TOKEN: Los datos se guardan localmente en /app/data (temporales, se pierden al reiniciar)

Recomendación: Configura HF_TOKEN, HF_DATASET_USERS y HF_DATASET_LOANS para garantizar persistencia en producción.

🔧 Tecnologías

  • Backend: Flask + Flask-SocketIO
  • Autenticación: Flask-Login
  • Notificaciones: Telegram Bot API
  • Email: Resend API
  • Integración: GitLab API
  • Persistencia: Hugging Face Datasets (con fallback a JSON local)
  • Despliegue: Docker + Gunicorn + Eventlet

📝 Licencia

Este proyecto es de código abierto.