Capa de presentación (route handlers) de DePaso.
Translation pending
CommerceTypeScript · JavaScriptGitHub @SESELOVSKYDarianOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Ahorrá en el camino. Asistente de conveniencia cotidiana que calcula qué compra conviene según el recorrido real de la persona — no un comparador de precios clásico. Lanzamiento inicial: sólo Mar del Plata, Buenos Aires, Argentina. "DePaso" es working name sujeto a clearance marcario (riesgo ALTO). Ver docs/brand-product/DECISIONS.md.Read the full README ↗
Ahorrá en el camino.
Asistente de conveniencia cotidiana que calcula qué compra conviene según el recorrido real de la persona — no un comparador de precios clásico. Lanzamiento inicial: sólo Mar del Plata, Buenos Aires, Argentina.
"DePaso" es working name sujeto a clearance marcario (riesgo ALTO). Ver docs/brand-product/DECISIONS.md.
| Documento | Para qué |
|---|---|
| docs/GUIA-DE-INSTALACION.md | Instalar y configurar backend, base de datos y app (variables de entorno, ejecución, APK, despliegue) |
| docs/MANUAL-DE-USUARIO.md | Cómo usar la app, paso a paso, según el rol |
| docs/development/API.md | Referencia de la API REST: endpoints, métodos, parámetros, respuestas y errores |
| docs/development/ARCHITECTURE.md | Arquitectura técnica |
| docs/development/DATABASE.md | Modelo de datos |
| docs/development/DECISIONS.md | Decisiones técnicas y por qué |
| docs/development/PROGRESS.md | Estado actual y qué falta |
| docs/README.md | Índice de la documentación de producto, marca y legal |
docs/brand-product/ y docs/legal-functional/ son la interpretación estructurada de
los PDFs en pdf/ (Brand-Product-Book y Blueprint-Legal-Funcional). No releer los
PDFs salvo que falte información, haya contradicción, o se necesite verificar un detalle
visual/legal exacto.
| Capa | Tecnología |
|---|---|
| App móvil | React Native 0.88 + Expo SDK 58 + Expo Router, TypeScript, Context API para el estado global |
| Sesión persistente | Token guardado en expo-secure-store (Keychain / Keystore) |
| Backend / API | Node.js 22 con Next.js 15 (route handlers), API REST |
| Base de datos | PostgreSQL con Prisma (alojada en Supabase) |
| Autenticación | Sesiones con token propio (hash en base, 30 días) + OAuth 2.0 con PKCE |
| Validación | Zod, compartida entre app y API |
| Mapas y rutas | Mapbox |
| IA | API compatible con OpenAI (chat) + Whisper para voz |
| Monorepo | pnpm workspaces + Turborepo |
| Despliegue | Vercel (API) y EAS Build (APK) |
apps/
mobile/ React Native + Expo (producto principal)
web/ Next.js (landing, legal, descarga)
admin/ Next.js (panel administrativo)
api/ Next.js route handlers (presentación fina sobre los packages de dominio)
packages/
domain/ entidades de negocio, enums, interfaces (auth, maps, prices, tipos de producto)
optimization/ motor de optimización — TypeScript puro, sin React/RN/Next
database/ schema.prisma + migraciones + seed procedural
validation/ schemas Zod
types/ tipos/DTOs compartidos
design-tokens/ colores, tipografía, spacing, motion tokens
api-client/ cliente HTTP tipado
data-sources/ importadores (SEPA, Mapbox)
config/ tsconfig/eslint compartidos
Requisitos: Node 22.13+ y pnpm (corepack enable). Detalle completo, variables de entorno y
base de datos en la Guía de instalación.
corepack enable
pnpm install
cp .env.example .env # completar DATABASE_URL y AUTH_SESSION_SECRET
docker compose up -d # PostgreSQL local (o usar Supabase)
pnpm --filter @depaso/database exec prisma migrate deploy
pnpm --filter @depaso/database run seed
pnpm --filter @depaso/api dev # API en http://localhost:3000
cd apps/mobile && npx expo start # escanear el QR con Expo Go (SDK 58)
pnpm dev # todas las apps en modo desarrollo (turbo)
pnpm typecheck # typecheck de todo el monorepo
pnpm test # tests de todo el monorepo (motor de optimización, auth, etc.)
pnpm build # build de todo el monorepo
Decisiones que se apartan de lo más habitual, y por qué:
schema.prisma); pasar a MySQL implicaría cambiar
el provider, regenerar las migraciones y revisar el SQL crudo de la búsqueda de productos.sessions y se puede revocar al instante (cerrar sesión, cambiar contraseña).
Vale 30 días y no hay token de renovación aparte. Detalle en
docs/development/API.md.USER, MERCHANT, ADMIN) verificados en el servidor en cada ruta protegida.