Ecommerce Template
Next.js·React 등으로 만든 최신 전자상거래 템플릿
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.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.