HappyAdmin es un dashboard administrativo full-stack moderno, diseñado para gestionar tareas, notas y categorías con una experiencia de usuario premium y fluida. Es la solución ideal para desarrolladores que buscan una base sólida y escalable o para quienes requieren un panel de control interno optimizado y visualmente atractivo.
Desarrollado bajo una arquitectura limpia y modular, este sistema viene listo para usarse localmente con SQLite o ser migrado en cuestión de segundos a un entorno de producción sobre PostgreSQL.
📷 Capturas de Pantalla

✨ Características Principales
📊 Dashboard de Estadísticas
- Métricas en Tiempo Real: Visualización analítica e inmediata del volumen total de notas creadas, distribución de categorías y el estado general de tus tareas pendientes.
📝 Gestión de Notas Avanzada
- CRUD Completo: Creación, lectura, actualización y eliminación de anotaciones con soporte de vinculación a categorías personalizadas.
- Filtros y Búsqueda: Motor de búsqueda integrado para localizar cualquier registro de forma rápida y eficiente.
✅ Control de Tareas Inteligente
- Flujo de Estados: Seguimiento minucioso de actividades pendientes y completadas.
- Trazabilidad Temporal: Registro automatizado y preciso de marcas de tiempo mediante columnas dedicadas (created_at y finished_at).
🎨 Interfaz Premium y Personalizable
- Sistema de Temas Dual: Selector dinámico para alternar entre el modo Claro y un sofisticado modo Oscuro con estética Glassmorphism.
- Persistencia Nativa: Recordatorio automático de la preferencia de tema del usuario guardado directamente en el navegador.
- Diseño Moderno: Estilizado con CSS personalizado de última generación e iconografía minimalista provista por Lucide React.
🔒 Seguridad Robusta
- Autenticación Segura: Control de accesos implementado mediante JSON Web Tokens (JWT).
- Protección de Datos: Hashing criptográfico de contraseñas en la base de datos utilizando el algoritmo Bcrypt.
- Perfil del Usuario: Módulo privado para la actualización de información personal y cambio seguro de credenciales.
🛠️ Especificaciones Técnicas
HappyAdmin hace uso del stack tecnológico más moderno, robusto y demandado del ecosistema JavaScript:
- Backend: NestJS (Framework progresivo de Node.js estructurado en TypeScript).
- Frontend: React + Vite + TypeScript (Entorno de desarrollo ultra rápido y tipado estático seguro).
- ORM: Prisma (Acceso y manipulación de datos con seguridad de tipos nativa).
- Base de Datos: SQLite (Entorno de desarrollo local ágil) / PostgreSQL (Estructura optimizada para producción).
📦 Instalación para Desarrolladores
Si deseas ejecutar el proyecto en tu entorno local o compilar el código fuente, sigue estos sencillos pasos:
1. Clonar el repositorio e instalar dependencias
Es necesario instalar los paquetes esenciales de Node en ambos directorios independientes:
# Instalar dependencias del backend cd backend npm install # Instalar dependencias del frontend cd ../frontend npm install
2. Configuración de Variables de Entorno (.env)
En la carpeta backend/ encontrarás un archivo clave llamado .env encargado de almacenar la configuración del sistema (asegúrate de habilitar los archivos ocultos en tu editor):
# URL de conexión a la base de datos (SQLite por defecto) DATABASE_URL="file:./dev.db" # Clave secreta para firmar los tokens JWT (Cámbiala obligatoriamente en producción) JWT_SECRET="secretKey"
Una vez configurado, sincroniza el esquema de datos ejecutando el motor de Prisma:
cd backend npx prisma db push
3. Ejecutar el proyecto
Abre dos terminales diferentes para levantar los servicios en paralelo:
- Terminal 1 (Backend): cd backend && npm run start:dev
- Terminal 2 (Frontend): cd frontend && npm run dev
El sistema se desplegará de forma automática y estará disponible en tu navegador a través de la dirección: http://localhost:5173
🗄️ Migración a PostgreSQL (Producción)
La base de datos del proyecto ha sido diseñada minuciosamente bajo la convención estricta de singular snake_case (Tablas: user, note, category, task / Columnas: user_id, created_at, etc.), lo que facilita un mapeo directo a bases de datos relacionales tradicionales como Postgres.
En la raíz encontrarás el archivo schema.sql listo para producción. Para migrar con Prisma:
- Cambia el provider en backend/prisma/schema.prisma de “sqlite” a “postgresql”.
- Actualiza tu cadena de conexión DATABASE_URL en el archivo .env:
DATABASE_URL="postgresql://usuario:password@localhost:5432/happyadmin?schema=public"
- Aplica los cambios en el servidor destino ejecutando: npx prisma db push
📥 Descargar HappyAdmin
Obtén el código fuente completo de HappyAdmin y empieza a desplegar tus propios paneles de control administrativos premium hoy mismo.
