HappyAdmin

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:

  1. Cambia el provider en backend/prisma/schema.prisma de “sqlite” a “postgresql”.
  2. Actualiza tu cadena de conexión DATABASE_URL en el archivo .env:
DATABASE_URL="postgresql://usuario:password@localhost:5432/happyadmin?schema=public"
  1. 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.