Skip to content

Facelad/Facelad-MVP

Repository files navigation

Facelad MVP

Monorepo TypeScript para la plataforma de gestión de servicios digitales de Facelad. Incluye una API NestJS, un panel web React, una app móvil Expo y el sitio de documentación Docusaurus.

Aplicaciones

Workspace Propósito Stack
@facelad/api API REST y lógica de negocio NestJS 11, Prisma 7, PostgreSQL 17
@facelad/web-admin Operación interna React 19, Vite 8, TanStack Query
@facelad/mobile Aplicación de clientes Expo SDK 57, React Native 0.86, Expo Router
@facelad/docs Documentación de producto y técnica Docusaurus 3

Los contratos HTTP, el cliente de API y los tokens visuales viven en packages/. Ninguna aplicación importa código fuente de otra aplicación.

Requisitos

  • Node.js 24.15.x
  • pnpm 11.15.1 mediante Corepack
  • Docker Desktop para PostgreSQL y el entorno en contenedores
  • Expo Go o un emulador para ejecutar la app móvil

En Windows con una política de PowerShell restrictiva, usa corepack.cmd pnpm o los ejecutables .cmd.

Instalación

corepack enable
pnpm install
docker compose up -d postgres

Crea apps/api/.env a partir de apps/api/.env.example. Para Expo en un dispositivo físico, crea apps/mobile/.env y reemplaza la IP de ejemplo por la IP local del computador.

pnpm db:migrate
pnpm db:seed

El seed puede ejecutarse varias veces y crea estas cuentas:

Aplicación Correo Contraseña
Panel web admin@facelad.cl FaceladDemo2026!
Panel web operador@facelad.cl FaceladDemo2026!
App móvil cliente@facelad.cl FaceladDemo2026!

Estas credenciales son únicamente para desarrollo local.

Desarrollo

Ejecuta cada proceso en un terminal:

pnpm dev:api
pnpm dev:web
pnpm dev:mobile
  • API: http://localhost:3000/api/v1
  • Swagger: http://localhost:3000/api/docs
  • Panel web: http://localhost:5173
  • Expo: URL y QR indicados por Expo CLI

La documentación se inicia con pnpm docs.

Docker

El entorno web completo se puede iniciar con:

docker compose up --build
pnpm db:seed

Esto expone el panel en http://localhost:5173 y la API en http://localhost:3000. PostgreSQL y los adjuntos usan volúmenes persistentes.

El almacenamiento local es deliberado para el MVP y limita la API a una instancia. Antes de escalar horizontalmente debe reemplazarse el adaptador local por almacenamiento S3 compatible.

Validación

pnpm lint
pnpm typecheck
pnpm test
pnpm build
docker compose config --quiet

Desde apps/mobile, pnpm dlx expo-doctor@latest valida las dependencias nativas.

Estructura

apps/
  api/            NestJS, Prisma y migraciones
  mobile/         Expo Router y pantallas de cliente
  web-admin/      Panel operativo React
packages/
  api-client/     Cliente fetch y rotación coordinada
  contracts/      Esquemas Zod y contratos HTTP
  design-tokens/  Colores, espacios y tipografía
docs/             PRD, TRD y sitio Docusaurus

El backend es un monolito modular. Los paquetes compartidos son publicables y cada app tiene configuración propia, lo que permite separarlas en repositorios sin trasladar lógica de negocio a los clientes.

Alcance implementado

  • Login, refresh rotativo, logout y aislamiento por empresa.
  • Dashboard operativo y dashboard de cliente.
  • Solicitudes con historial, notas internas, estados y reapertura por siete días.
  • Empresas con varios usuarios y roles fijos CLIENT, OPERATOR, ADMIN.
  • Lectura agregada de dominios, hosting y sitios.
  • Modelo de pagos, suscripciones y renovaciones en CLP.
  • Panel web y app móvil conectados al mismo contrato.

Mercado Pago real, correo, push, facturación fiscal y almacenamiento S3 quedan para el siguiente corte.

Documentación

About

Facelad-MVP Proyecto Full-Stack para el MVP de la Aplicacion de Facelad

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors