Sistema de gestión para pequeñas empresas: inventario, compras, ventas y traslados entre ubicaciones.
Proyecto experimental. Faro es un concepto en etapa inicial de diseño y desarrollo. La arquitectura, el esquema y la interfaz pueden cambiar sin aviso.
Faro busca que un sistema de gestión cueste casi nada en infraestructura: aprovechar servicios gratuitos y administrados mientras alcancen, y que los costos solo crezcan cuando el uso real lo justifique.
Por eso es una SPA estática, desplegable en cualquier hosting de archivos (como GitHub Pages), que habla directamente con Supabase. No hay servidor de aplicación propio: la seguridad vive en la base de datos con Row Level Security.
React + TypeScript + Vite ──HTTPS──▶ Supabase (PostgreSQL · Auth · RLS)
Requiere Node 22+. Primero instalá las dependencias y creá el archivo de entorno:
npm install
cp .env.example .env.localDespués elegí dónde corre Supabase.
-
Creá un proyecto en supabase.com (el plan gratuito alcanza).
-
Completá
.env.localcon los datos de Project Settings → API:VITE_SUPABASE_URLVITE_SUPABASE_PUBLISHABLE_KEY
-
Vinculá la CLI y cargá el esquema y los datos de ejemplo:
npx supabase login npx supabase link --project-ref <project-ref> npm run db:reset
El
project-refes el subdominio deVITE_SUPABASE_URL.db:resetborra todos los datos del proyecto antes de recrearlo; para solo aplicar migraciones nuevas usánpm run db:push.
-
Levantá el stack local y cargá el esquema y los datos de ejemplo:
npx supabase start npx supabase db reset
-
Completá
.env.localcon laAPI URLy laPublishable keyque imprimenpx supabase status.
npm run devLos datos de ejemplo incluyen el usuario [email protected] / faro-demo para entrar al panel.
El workflow .github/workflows/deploy.yml publica en GitHub Pages en cada push a main. Necesita VITE_SUPABASE_URL y VITE_SUPABASE_PUBLISHABLE_KEY configuradas en Settings → Secrets and variables → Actions.
Para otro hosting estático: npm run build y publicar la carpeta dist/.
- docs/database.md: modelo de datos, migraciones y RLS.
- docs/panel.md: arquitectura del panel y cómo extenderlo.
- docs/demo-user.md: la instancia pública de demostración.