Un frontend moderno y elegante para una cafetería construido con Next.js 14, HeroUI, y Tailwind CSS.
- 🏠 Página de inicio con hero section atractivo y productos destacados
- 📱 Diseño responsivo que funciona en todos los dispositivos
- 🔐 Sistema de autenticación (login/register)
- 👤 Dashboard de usuario con perfil e historial de pedidos
- 🛒 Carrito de compras completo con gestión de productos
- 🍽️ Menú interactivo con filtros y búsqueda
- 🎨 UI moderna con HeroUI y tema de cafetería
- ⚡ Rendimiento optimizado con Next.js 14
- Next.js 14 - Framework de React con App Router
- TypeScript - Tipado estático
- HeroUI - Librería de componentes moderna
- Tailwind CSS - Framework de CSS utility-first
- Lucide React - Iconos
- Context API - Manejo de estado global
- Node.js 18+
- npm o yarn
-
Clonar o descargar el proyecto
# Si tienes el código fuente cd frontend-cafeteria
-
Instalar dependencias
npm install
-
Ejecutar en modo desarrollo
npm run dev
-
Abrir en el navegador
http://localhost:3000
frontend-cafeteria/
├── app/ # App Router de Next.js 14
│ ├── globals.css # Estilos globales
│ ├── layout.tsx # Layout principal
│ ├── page.tsx # Página de inicio
│ ├── providers.tsx # Providers de contexto
│ ├── login/ # Página de login
│ ├── register/ # Página de registro
│ ├── dashboard/ # Dashboard del usuario
│ ├── menu/ # Página del menú
│ └── cart/ # Página del carrito
├── components/ # Componentes reutilizables
│ └── Navbar.tsx # Barra de navegación
├── contexts/ # Context API
│ └── AppContext.tsx # Estado global
├── data/ # Datos mock
│ └── products.ts # Productos y categorías
└── public/ # Archivos estáticos
- Hero section con llamada a la acción
- Categorías de productos
- Productos destacados
- Footer informativo
- Login:
demo@cafeLush.com+ cualquier contraseña - Registro: Formulario completo con validaciones
- Estado persistente del usuario
- Perfil del usuario
- Historial de pedidos
- Estadísticas básicas
- Acceso protegido
- Filtros por categoría
- Búsqueda de productos
- Ordenamiento por precio/nombre
- Agregar al carrito
- Gestión de cantidades
- Cálculo de totales
- Envío gratis +$100
- Checkout simulado
El proyecto utiliza una paleta de colores de café personalizada:
coffee: {
50: '#fdf8f6',
100: '#f2e8e5',
200: '#eaddd7',
300: '#e0cfc5',
400: '#d2bab0',
500: '#bfa094',
600: '#a18072',
700: '#977669',
800: '#846358',
900: '#43302b',
}Edita data/products.ts:
{
id: 'nuevo-id',
name: 'Producto Nuevo',
description: 'Descripción del producto',
price: 50,
image: 'https://url-de-imagen.jpg',
category: 'categoria-id',
available: true,
}Edita data/products.ts en la sección categories:
{ id: 'nueva-categoria', name: 'Nueva Categoría', icon: '🆕' }- Modifica
app/globals.csspara estilos globales - Usa clases de Tailwind en los componentes
- Personaliza colores en
tailwind.config.ts
El sitio está optimizado para:
- 📱 Móviles (320px+)
- 📱 Tablets (768px+)
- 💻 Desktop (1024px+)
- 🖥️ Wide screens (1280px+)
# Desarrollo
npm run dev
# Construcción para producción
npm run build
# Iniciar en producción
npm start
# Linting
npm run lint- Email:
demo@cafeLush.com - Contraseña: Cualquier texto
- Navegar por la página de inicio
- Explorar el menú y filtrar productos
- Agregar productos al carrito
- Iniciar sesión con las credenciales demo
- Completar un pedido
- Revisar el dashboard y historial
- Estado Global: Manejado con Context API y useReducer
- Rutas Protegidas: Implementadas en dashboard
- Datos Mock: Productos e historial de pedidos simulados
- Optimización: Imágenes optimizadas con Next.js Image
- SEO: Meta tags configurados para cada página
- Integración con API real
- Sistema de pagos
- Notificaciones push
- PWA (Progressive Web App)
- Modo oscuro
- Múltiples idiomas
- Geolocalización para delivery
Para cualquier duda o problema, puedes:
- Revisar la documentación de Next.js
- Consultar la documentación de HeroUI
- Revisar ejemplos de Tailwind CSS
¡Disfruta construyendo experiencias web increíbles! ☕✨