Sistema móvil y de escritorio para la gestión de compraventas y cooperativas de café, diseñado para registrar operaciones del negocio cafetero como compras, inventario, secado, cálculo de rendimiento, ventas y reportes financieros. Preparado para funcionar Offline-First.
El sistema está construido bajo una arquitectura de Monolito Modular, permitiendo organizar las funcionalidades del negocio en módulos independientes pero dentro de una misma aplicación.
Digitalizar la gestión operativa del comercio de café, permitiendo a los usuarios:
- Registrar compras de café por lote
- Evaluar calidad del café
- Gestionar inventario
- Registrar procesos de secado
- Registrar factor
- Registrar ventas
- Controlar gastos operativos
- Visualizar reportes y métricas del negocio
Cafe Smart utiliza una arquitectura Monolito Modular, donde cada módulo del sistema representa una parte del proceso de negocio.
Capacitor Mobile / Web App
│
├── Frontend (React + Vite)
│
├── Backend API (NestJS)
│
├── ORM (Prisma)
│
└── Base de datos (PostgreSQL / SQLite Local)
Compra → Evaluación → Inventario → Secado → Medición de humedad → Factor de rendimiento → Venta → Reportes
| Capa | Tecnología |
|---|---|
| Frontend | React + Vite + TypeScript |
| Backend | Node.js + NestJS |
| ORM | Prisma |
| Base de datos | PostgreSQL |
| Autenticación | JWT + bcrypt |
| Runtime | Capacitor (Android / Web) |
| DevOps | Docker |
| Testing | Jest + Supertest + Postman |
| Dashboard | Recharts / Chart.js |
| Base de datos local | SQLite |
| Sincronización | Offline-First Async |
cafesmartv1
│
├── frontend
│ ├── android <-- Proyecto móvil nativo (Capacitor)
│ ├── src
│ ├── capacitor.config.ts
│ └── package.json
│
├── backend
│ ├── src
│ ├── prisma
│ ├── Dockerfile
│ └── package.json
│
├── docker-compose.yml
├── README.md
└── .gitignore
Instalar:
- Docker Desktop (Para levantar la base de datos y backend fácilmente)
- Node.js (Necesario localmente para trabajar el Frontend y Capacitor)
- Android Studio (Opcional, pero necesario si quieres ver y emular el celular virtual)
git clone https://github.com/CAFE-SMART/cafesmartv1.git
cd cafesmartv1Crear el archivo:
backend/.env
Agregar:
DATABASE_URL="postgresql://postgres:[password]@db.ielltlinimqcnwlkvrbs.supabase.co:5432/postgres"Solicita las credenciales al administrador del sistema.
Para que el servidor y la base de datos funcionen correctamente, debemos instalar las librerías locales y levantar la infraestructura:
- Ingresa a la carpeta backend e instala dependencias usando pnpm:
cd backend pnpm install - Genera el cliente de Base de Datos (Prisma):
npx prisma generate
- Levanta la infraestructura (Base de Datos y API en la Nube):
cd .. docker-compose up --build -d
=======
Desde la raíz del proyecto ejecutar:
docker-compose up --build -dEsto levantará tu API (Nube) y tu base de datos principal de forma transparente.
Para correr la app en modo programador y luego verla en el celular:
- Ingresa a la carpeta frontend e instala dependencias usando pnpm:
cd frontend pnpm install - Para verla rápido en el navegador como cualquier web:
pnpm dev
- Para verla en el celular (Emulador de Android):
Siempre que hagas un cambio importante que quieras ver en el teléfono, corres:
pnpm build # 1. Empaqueta el código React npx cap sync # 2. Le pasa el código a la app de Android npx cap open android # 3. Abre Android Studio para darle Play