Skip to content

mirkoemirbc/edhub

Repository files navigation

📚 EdHub - Suite Editorial Centralizada

EdHub es una plataforma integral de gestión editorial diseñada para editoriales pequeñas y medianas. Centraliza todo el proceso editorial en un único ecosistema, desde la creación de obras hasta la distribución y análisis de resultados.

✨ Características Principales

  • 🎯 8 Módulos Especializados: Gestión completa del ciclo editorial
  • 🔐 Autenticación y Seguridad: Sistema de autenticación con Row Level Security (RLS)
  • 📱 Diseño Responsive: Interfaz adaptable a todos los dispositivos
  • 🌓 Modo Oscuro/Claro: Soporte completo para temas personalizables
  • 🎨 UI Moderna: Componentes basados en shadcn/ui y Radix UI
  • 📊 Dashboard Analytics: Métricas y reportes del negocio editorial
  • 🖼️ Gestión de Imágenes: Soporte para portadas, fotos de autores y eventos
  • 📦 Control de Stock: Inventario completo con movimientos y alertas

🏗️ Stack Tecnológico

Frontend

  • Next.js 16 (App Router) - Framework React
  • React 19 - Biblioteca UI
  • TypeScript - Tipado estático
  • Tailwind CSS 4 - Estilos utilitarios
  • Radix UI - Componentes accesibles
  • shadcn/ui - Sistema de componentes
  • React Hook Form + Zod - Formularios y validación
  • Lucide React - Iconos
  • Recharts - Visualización de datos

Backend & Base de Datos

  • Supabase - Backend as a Service
  • PostgreSQL - Base de datos relacional
  • Row Level Security (RLS) - Seguridad a nivel de fila
  • Supabase Storage - Almacenamiento de imágenes

Herramientas

  • pnpm - Gestor de paquetes
  • ESLint - Linter
  • Vercel Analytics - Analytics

📁 Estructura del Proyecto

edHub/
├── app/                          # Next.js App Router
│   ├── globals.css              # Estilos globales
│   ├── layout.tsx               # Layout raíz
│   ├── page.tsx                 # Página principal (Dashboard/Login)
│   └── modules/                 # Módulos de la aplicación
│       ├── edcore/              # Gestión de Libros
│       ├── edauthor/            # Gestión de Autores
│       ├── edisbn/              # Registro ISBN
│       ├── edprint/             # Gestión de Stock
│       ├── edorders/            # Pedidos de Lotes
│       ├── edevents/            # Agenda Editorial
│       ├── edpromo/             # Promociones
│       └── edanalytics/         # Dashboard Analytics
│
├── components/                   # Componentes React
│   ├── ui/                      # Componentes UI base (shadcn/ui)
│   ├── dashboard-layout.tsx     # Layout principal con sidebar
│   ├── book-card-with-cover.tsx
│   ├── author-card-with-photo.tsx
│   ├── order-card-enhanced.tsx
│   └── ...
│
├── contexts/                     # Contextos React
│   └── auth-context.tsx         # Contexto de autenticación
│
├── hooks/                        # Custom Hooks
│   ├── use-mobile.ts
│   ├── use-theme.ts
│   └── use-toast.ts
│
├── lib/                          # Utilidades y configuraciones
│   ├── utils.ts                 # Utilidades generales
│   └── supabase/                # Clientes Supabase
│       ├── client.ts            # Cliente browser
│       ├── server.ts            # Cliente server
│       └── storage.ts           # Utilidades de storage
│
├── scripts/                      # Scripts SQL de migración
│   ├── 001_create_edhub_schema.sql
│   ├── 002_add_image_fields.sql
│   └── 003_add_orders_customer_fields.sql
│
└── public/                       # Assets estáticos

🎯 Módulos del Sistema

1. EdCore - Gestión de Libros

Ruta: /modules/edcore

Administración completa de obras editoriales:

  • Gestión de libros con estados (draft, editing, design, printing, published)
  • Biblioteca visual con tarjetas de libros
  • Filtros por estado y género
  • Estadísticas rápidas (total, publicados, en imprenta, borradores)
  • Soporte para imágenes de portada

2. EdAuthor - Gestión de Autores

Ruta: /modules/edauthor

Gestión de perfiles de autores:

  • Perfiles completos con fotos
  • Información de contacto y biografía
  • Relación con libros publicados
  • Agenda de interacciones

3. EdISBN - Registro ISBN

Ruta: /modules/edisbn

Asignación y trazabilidad de ISBN:

  • Registro de ISBN-10 e ISBN-13
  • Soporte para múltiples formatos (digital, físico, audio)
  • Estados: registered, active, archived
  • Trazabilidad completa

4. EdPrint - Gestión de Stock

Ruta: /modules/edprint

Control de inventario y stock:

  • Control de cantidades (disponible, reservado, dañado)
  • Movimientos de stock (entrada, salida, ajuste, daño)
  • Umbral de reimpresión configurable
  • Reportes de stock detallados

5. EdOrders - Pedidos de Lotes

Ruta: /modules/edorders

Gestión de pedidos y ventas:

  • Formulario de nuevo pedido
  • Múltiples canales: direct, mercado_libre, tienda_digital, whatsapp
  • Información completa de cliente (nombre, email, teléfono, dirección)
  • Estados: pending, confirmed, shipped, delivered, cancelled
  • Seguimiento de pedidos

6. EdEvents - Agenda Editorial

Ruta: /modules/edevents

Gestión de eventos editoriales:

  • Tipos de eventos: book_launch, book_signing, fair, workshop
  • Calendario de eventos
  • Participantes y autores asociados
  • Imágenes de eventos
  • Gestión de capacidad y ubicación

7. EdPromo - Promociones

Ruta: /modules/edpromo

Campañas de marketing y promociones:

  • Tipos: discount, pack, bundle, free_shipping
  • Fechas de inicio y fin
  • Asociación con libros específicos
  • Porcentajes de descuento configurables

8. EdAnalytics - Dashboard

Ruta: /modules/edanalytics

Reportes y métricas del negocio:

  • Visualización de datos con gráficos
  • Métricas clave del negocio editorial
  • Análisis de rendimiento
  • Reportes personalizables

🚀 Instalación

Prerrequisitos

  • Node.js 18+
  • pnpm (o npm/yarn)
  • Cuenta de Supabase

Pasos de Instalación

  1. Clonar el repositorio
git clone https://github.com/mirkoemirbc/edHub.git
cd edHub
  1. Instalar dependencias
pnpm install
  1. Configurar variables de entorno

Crea un archivo .env.local en la raíz del proyecto:

NEXT_PUBLIC_SUPABASE_URL=tu_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=tu_supabase_anon_key
  1. Configurar la base de datos

Ejecuta los scripts SQL en tu proyecto de Supabase en el siguiente orden:

  • scripts/001_create_edhub_schema.sql - Esquema base
  • scripts/002_add_image_fields.sql - Campos de imágenes
  • scripts/003_add_orders_customer_fields.sql - Campos de cliente en pedidos
  1. Ejecutar el servidor de desarrollo
pnpm dev

Abre http://localhost:3000 en tu navegador.

📖 Uso

Autenticación

Actualmente el sistema usa autenticación mock. Puedes iniciar sesión con cualquier email y contraseña. La autenticación real con Supabase está pendiente de implementación.

Navegación

Una vez autenticado, accederás al dashboard principal donde encontrarás los 8 módulos del sistema. Cada módulo tiene su propia sección con funcionalidades específicas.

Gestión de Datos

Los módulos están preparados para trabajar con Supabase, aunque actualmente algunos usan datos mock. La conexión real con la base de datos está en desarrollo.

🗄️ Base de Datos

Tablas Principales

  • editorial - Información de la editorial/sello
  • authors - Autores
  • books - Libros/Obras
  • isbn_registry - Registro de ISBN
  • stock - Inventario
  • stock_movements - Movimientos de stock
  • orders - Pedidos
  • order_items - Items de pedidos
  • events - Eventos
  • event_participants - Participantes de eventos
  • promotions - Promociones
  • promotion_books - Relación promociones-libros

Seguridad

El sistema utiliza Row Level Security (RLS) de Supabase para garantizar la seguridad de los datos. Las políticas básicas están configuradas para el MVP, pero deben ser más restrictivas en producción.

🛠️ Scripts Disponibles

# Desarrollo
pnpm dev          # Inicia el servidor de desarrollo

# Producción
pnpm build        # Crea el build de producción
pnpm start        # Inicia el servidor de producción

# Calidad de código
pnpm lint         # Ejecuta el linter

🎨 Sistema de Diseño

El proyecto utiliza:

  • shadcn/ui como sistema de componentes base
  • Tailwind CSS para estilos
  • Radix UI para componentes accesibles
  • Soporte completo para dark/light mode

📊 Estado del Proyecto

✅ Completado

  • Estructura base del proyecto
  • 8 módulos principales implementados
  • Sistema de autenticación mock
  • Layout y navegación
  • Componentes UI base (40+ componentes)
  • Esquema de base de datos
  • Scripts de migración SQL
  • Soporte para imágenes
  • Sistema de temas (dark/light)
  • Componentes especializados

🚧 En Desarrollo

  • Migración de autenticación mock a Supabase Auth
  • Implementación de políticas RLS más restrictivas
  • Conexión real con Supabase (actualmente usando datos mock)
  • Formularios funcionales con validación completa
  • Upload de imágenes a Supabase Storage
  • Integración de analytics real
  • Testing (unit tests, integration tests)

🤝 Contribución

Las contribuciones son bienvenidas. Por favor:

  1. Fork el proyecto
  2. Crea una rama para tu feature (git checkout -b feature/AmazingFeature)
  3. Commit tus cambios (git commit -m 'Add some AmazingFeature')
  4. Push a la rama (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

📝 Licencia

Este proyecto es privado. Todos los derechos reservados.

👥 Autor

mirkoemirbc

🙏 Agradecimientos


EdHub - Suite Editorial Centralizada | Versión 0.1.0 (MVP)

About

This is a system for publishers and editorials

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors