FloCafe
FloCafe is the free, local-first restaurant POS in the FloPOS ecosystem. Run orders, tables, kitchen display, and local data without a software subscription.
La forma más fácil de crear tu tienda online
Translation pending
CommerceGitHub @RomiduxOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗La forma más fácil de crear una tienda online para emprendedores y PYMEs de LATAM.
Impels Commerce es una plataforma SaaS multi-tenant que permite a cualquier negocio tener su propio catálogo digital en minutos, optimizado para venta por WhatsApp y redes sociales. Cada tienda opera en su propio subdominio ({slug}.impels.com) con su catálogo, gestión de pedidos e identidad visual personalizable.
| Capa | Tecnología |
|---|---|
| Framework | Next.js 16 (App Router) |
| UI | React 19 + Tailwind CSS v4 + Radix UI |
| Base de datos | Supabase (PostgreSQL + RLS) |
| Autenticación | Supabase Auth |
| Storage | Supabase Storage |
| Estado global | Zustand |
| Animaciones | Framer Motion |
| Despliegue | Vercel |
git clone https://github.com/Romidux/impels-platform.git
cd impels-platform
npm install
cp .env.example .env.local
Editar .env.local con tus valores reales (ver tabla de variables más abajo).
En el SQL Editor de Supabase, ejecutar el contenido completo de:
supabase/schema.sql
⚠️ Este script es destructivo — hace
DROP SCHEMA public CASCADE. Usarlo solo en proyectos nuevos o de desarrollo. Para bases de datos existentes, aplicar las migraciones ensupabase/migrations/en orden numérico.
npm run dev
Abrir http://localhost:3000.
| Variable | Descripción | Ejemplo |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | URL de tu proyecto Supabase | https://abcdef.supabase.co |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Clave pública anon de Supabase | eyJh... |
NEXT_PUBLIC_APP_URL | URL base de la app | http://localhost:3000 |
SUPER_ADMIN_EMAILS | Emails con acceso a /admin, separados por coma | [email protected] |
Copiar .env.example como punto de partida.
src/
├── app/
│ ├── (marketing)/ # Landing page pública
│ ├── dashboard/ # Panel de administración (auth required)
│ │ ├── products/
│ │ ├── orders/
│ │ ├── store/ # Configuración de tienda (identidad, apariencia, etc.)
│ │ ├── customers/
│ │ ├── coupons/
│ │ └── apps/ # Integraciones (Meta Pixel, Google Analytics)
│ ├── store/[slug]/ # Storefront público por slug
│ ├── admin/ # Super admin (acceso restringido)
│ ├── login/
│ ├── register/
│ └── onboarding/
├── components/
│ ├── dashboard/ # Componentes del panel admin
│ ├── storefront/ # Templates del storefront (minimal, modern)
│ └── ui/ # Componentes UI compartidos
├── lib/
│ ├── supabase/ # Clientes server/client de Supabase
│ ├── types.ts # Tipos TypeScript centralizados
│ └── utils.ts # Utilidades compartidas
└── middleware.ts # Auth guard + routing multi-tenant
supabase/
├── schema.sql # Schema completo (fresh install)
├── schema_v2.sql # Schema v2 con RLS hardening (fresh install)
└── migrations/ # Migraciones incrementales numeradas
Cada tienda registrada tiene un slug único. El routing multi-tenant funciona así:
http://{slug}.localhost:3000https://{slug}.impels.comEl middleware en src/middleware.ts protege automáticamente las rutas /dashboard y /admin. Las rutas /store/[slug]/* son públicas y no requieren autenticación.
| Template | Estado | Descripción |
|---|---|---|
| Minimal | ✅ Disponible | Catálogo limpio, blanco y negro, ideal para mostrar productos sin distracciones |
| Modern | 🔜 Próximamente | Más dinámico y visual, con hero y marca protagonista |
| Brand | 🔜 Próximamente | Mayor énfasis en identidad visual |
npm run dev # Servidor de desarrollo
npm run build # Build de producción
npm run start # Servidor de producción
npm run lint # Linter (ESLint)
npm run typecheck # Verificación de tipos (TypeScript)
npm run format # Formatear código (Prettier)
npm run format:check # Verificar formato sin modificar
npm run validate # typecheck + lint + build (pre-deploy)
Las migraciones en supabase/migrations/ son scripts SQL incrementales, numerados, seguros de ejecutar contra una base de datos existente.
Para aplicar una migración:
| Archivo | Descripción |
|---|---|
005_customers.sql | Tabla de clientes |
006_checkout_methods.sql | Métodos de pago y envío |
006b_customers_backfill.sql | Backfill de datos de clientes |
007_admin_actions_log.sql | Log de acciones de super admin |
008_coupons.sql | Sistema de cupones |
008b_coupons_rls.sql | RLS para cupones |
009_phase4b_iteration1.sql | Backend fase 4b |
010_rls_hardening.sql | Endurecimiento de RLS + storage multi-tenant |
*.impels.com para el multi-tenant (requiere plan Pro de Vercel)Proyecto privado — todos los derechos reservados.