Volver a proyectos
Completado

Cherry Core ERP v3

Sistema ERP empresarial completo con arquitectura Clean Architecture + DDD, 15 módulos y 1200+ tests.

Descripción del Proyecto

Cherry Core ERP v3 es mi “joya de la corona”: un sistema de planificación de recursos empresariales (ERP) completo, modular y escalable, diseñado desde cero siguiendo los principios más estrictos de Clean Architecture y Domain Driven Design (DDD).

Este proyecto no es solo una aplicación web, es una demostración de ingeniería de software avanzada capaz de soportar operaciones empresariales complejas.

Características Principales

  • 15 Módulos de Negocio: Incluye RRHH (ATS), CRM, Calidad, Inventario, Ventas, Facturación y más.
  • Arquitectura Hexagonal: Separación estricta entre Dominio, Aplicación e Infraestructura.
  • Testing Exhaustivo: 1,200+ tests automatizados (Unitarios, Integración y E2E) con una cobertura del 91% en código crítico y 96% tasa de éxito.
  • IA Local Integrada: Módulo de IA utilizando Ollama y Qdrant para búsqueda semántica y análisis de datos sin depender de APIs externas costosas.
  • Alto Rendimiento: Optimizado para manejar grandes volúmenes de datos con colas asíncronas (BullMQ) y caché (Redis).

Tecnologías Utilizadas

Core:

  • Next.js 16 (App Router) & React 19
  • TypeScript (Tipado estricto)
  • PostgreSQL 15 & Prisma 6 (ORM)

Arquitectura & Calidad:

  • Clean Architecture + DDD
  • Jest & React Testing Library (Unit/Integration)
  • Playwright (E2E)
  • Husky (Git Hooks) & CI/CD pipelines

IA & Data:

  • Ollama (LLM Local)
  • Qdrant (Vector Database)
  • BGE-M3 (Embeddings)

Retos Técnicos Superados

1. Implementación de Clean Architecture y DDD

Reto: Mantener una separación estricta de responsabilidades en un proyecto monolítico modular sin caer en la complejidad accidental. Solución: Definí límites claros de contexto (Bounded Contexts) para cada módulo. La capa de dominio es pura (sin dependencias de frameworks), la capa de aplicación orquesta los casos de uso, y la infraestructura implementa las interfaces definidas por el dominio. Esto permite cambiar la base de datos o el framework web sin tocar la lógica de negocio.

2. Estrategia de Testing a Gran Escala

Reto: Asegurar la estabilidad de un sistema con 15 módulos interconectados y evitar regresiones. Solución: Adopté TDD (Test Driven Development) desde el inicio. Implementé una pirámide de testing sólida:

  • 800+ Tests Unitarios para reglas de negocio y utilidades.
  • 300+ Tests de Integración para repositorios y casos de uso.
  • 100+ Tests E2E para flujos críticos de usuario (Login, Checkout, Creación de Empleado). Logrando una cobertura del 91% en el Core.

3. Integración de IA Local Privada

Reto: Proporcionar capacidades de inteligencia artificial (resumen de CVs, búsqueda semántica de productos) sin exponer datos sensibles a APIs de terceros y sin costes recurrentes. Solución: Integré Ollama ejecutando modelos cuantizados (Llama 3, Mistral) localmente en el servidor. Utilicé Qdrant para indexar vectores de documentos y permitir búsquedas semánticas (“Buscar candidatos con experiencia en React” en lugar de keyword match).

4. Gestión de Estado y Rendimiento

Reto: Manejar formularios complejos y tablas de datos masivas sin afectar la experiencia de usuario. Solución: Utilicé TanStack Query para gestión de estado asíncrono y caché en el cliente, reduciendo llamadas innecesarias al servidor. Implementé virtualización de listas para tablas con miles de registros y optimicé las consultas SQL con índices compuestos en PostgreSQL.


Impacto y Aprendizajes

Este proyecto representa un salto de calidad en mi carrera. Me enseñó que la arquitectura no es sobre archivos y carpetas, sino sobre control y mantenibilidad. Escribir más de 1200 tests me dio la confianza para refactorizar y mejorar el código continuamente sin miedo a romper funcionalidades existentes.

Cherry Core ERP demuestra que soy capaz de construir software de nivel empresarial, mantenible y escalable, listo para producción.

Explorar más proyectos

Ver todos