Sistema digital de gestión operativa para restaurantes, bares y cafeterías. Producto SaaS de Studio32 — Digital Systems for real businesses.
Fase 1 — Base (en construcción). MVP centrado en Módulo 1: Fichaje / Time Clock.
restaurantos/
├── backend/ FastAPI + SQLAlchemy + PostgreSQL
├── web/ Next.js (panel manager)
├── mobile/ Expo (app empleado + tablet kiosko)
├── docs/ Especificaciones y decisiones de producto
└── scripts/ Utilidades (seed demo, etc.)
- Python 3.12+
- Node.js 20+ (con pnpm o npm)
- PostgreSQL 15+ (local o Docker)
- Git
cd backend
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e ".[dev]"
copy .env.example .env # edita la DATABASE_URL
alembic upgrade head
uvicorn app.main:app --reloadAbre http://localhost:8000/docs para la API.
cd web
npm install
npm run dev -- --hostname 127.0.0.1 --port 3000cd mobile
npm install
npm run typecheck
npm start| Capa | Tecnología |
|---|---|
| Backend | Python 3.12, FastAPI, SQLAlchemy 2.x, Alembic, PostgreSQL 16 |
| Web | Next.js 14 (App Router), TailwindCSS, shadcn/ui, React Query |
| Mobile | Expo SDK 51, React Native, TypeScript |
| Auth | JWT (access 15min + refresh 7d), magic links |
| Pagos | Stripe |
| Hosting | Railway (backend + DB), Vercel (web) |
- Multi-tenant:
tenant_idcompartido en tablas, middleware de aislamiento obligatorio. - Verificación de fichaje: móvil del empleado con geolocalización puntual y radio 100m; tablet kiosko con PIN incluido como fallback MVP.
- Append-only:
time_clock_eventsjamás se modifica ni borra. - Correcciones: siempre con motivo obligatorio + log en
clock_corrections.
Detalles completos en docs/MODULE_1_FICHAJE.md.