Synaplan
기업을 위한 오픈소스 AI 플랫폼
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Plataforma SaaS B2B de tracking logístico multi-tenant para Ecuador/LATAM.
Desarrollado por SVK Solutions — Kevin Santana
"Si lo puedes imaginar, yo lo puedo programar"
| Capa | Tecnología |
|---|---|
| Frontend Web | Next.js 14 (App Router) + TypeScript + Tailwind CSS + shadcn/ui |
| Backend / API | Node.js + NestJS + REST API (JWT Auth) |
| Base de datos | PostgreSQL (datos transaccionales) + MongoDB Atlas (eventos de tracking / logs de alta escritura) |
| Infraestructura | Docker Compose (dev local), AWS RDS Aurora (prod), Vercel (frontend) |
| Seguridad | TLS 1.3, AES-256 en reposo, JWT + refresh tokens, arquitectura multi-tenant aislada, OWASP compliance |
| Móvil (fase futura) | React Native (Expo) — fuera del alcance de la Fase 1 |
sutl/
├── backend/ # API NestJS
├── frontend/ # Next.js 14 App Router
├── docs/ # Documentación de arquitectura
├── docker-compose.yml
└── CLAUDE.md # Contexto del proyecto para Claude Code
auth: registro/login, JWT access (15 min) + refresh (7 días, cookie httpOnly), guard global (JwtAuthGuard + @Public()), guard de roles (RolesGuard + @Roles()).tenants: CRUD exclusivo de super_admin (panel SaaS).users: CRUD de usuarios por tenant, siempre filtrado por tenantId del JWT.shipments: CRUD por tenant + endpoint público GET /api/shipments/tracking/:codigoGuia (sin auth).tracking-events: eventos en MongoDB Atlas, asociados a un envío; cada evento nuevo actualiza el estado del Shipment en Postgres./tracking y /tracking/[codigo].DB inicial en Supabase (Postgres free tier). El schema (backend/prisma/schema.prisma) es Postgres estándar sin extensiones propietarias, así que migrar a AWS RDS Aurora más adelante es solo cambiar DATABASE_URL/DIRECT_URL. Ver supabase/README.md para el setup paso a paso y supabase/schema.sql como referencia SQL del schema.
Eventos de tracking van en MongoDB Atlas (free tier M0), no en Supabase — ver MONGO_URI en backend/.env.example.
cp .env.example .env
cp backend/.env.example backend/.env # ajustar DATABASE_URL/DIRECT_URL a la variante local (ver comentario en el archivo)
cp frontend/.env.example frontend/.env
docker compose up --build
# Backend: http://localhost:3001/api
# Frontend: http://localhost:3000
cp backend/.env.example backend/.env # completar DATABASE_URL, DIRECT_URL y MONGO_URI reales
cp frontend/.env.example frontend/.env
cd backend
npm install
npm run prisma:migrate -- --name init
npm run prisma:seed # crea super_admin + tenant demo (ver prisma/seed.ts)
npm run start:dev
cd ../frontend
npm install
npm run dev
Usuarios de prueba tras el seed: [email protected] (super_admin), [email protected] (admin_tenant) y [email protected] (operador) — contraseñas en backend/prisma/seed.ts.
frontend/), variable NEXT_PUBLIC_API_URL apuntando al backend.Dockerfile de backend/ ya está listo para migrar a un contenedor en AWS (ECS/EB) más adelante sin cambios de código.Fase 2: refinar validaciones, tests, y llevar el CRUD de shipments/tracking-events a UI con filtros y paginación real.