FasteryShop es una plataforma de e-commerce moderna construida con tecnologías de vanguardia para ofrecer una experiencia de compra rápida, segura y escalable.
- ✅ Autenticación segura y gestión de usuarios con Clerk
- ✅ Comunicación fluida entre frontend y backend mediante APIs REST
- ✅ Integración con Fastery Nexus para operaciones financieras
- ✅ Integración con Traky App para seguimiento de paquetes en tiempo real
- ✅ Arquitectura escalable para crecimiento futuro
- ✅ Gestión de productos, categorías y marcas
- ✅ Carrito de compras y favoritos
- ✅ Panel de administración completo
- ✅ Diseño responsive y moderno
- Frontend: Next.js 16+ (React 19, TypeScript)
- Autenticación y Seguridad: Clerk
- Backend/API: NestJS
- UI Components: Radix UI, shadcn/ui
- Estilos: Tailwind CSS
- Validación: Zod
- Servicios Externos:
- Fastery Nexus API: Sistema de gestión de dinero y flujo de caja
- Traky App API: Sistema de logística y seguimiento de paquetes
- Node.js 24.x o superior
- npm >= 11.0.0
- Cuenta de Clerk configurada
- Backend NestJS desplegado y funcionando
- Clona el repositorio:
git clone <repository-url>
cd app-ecommerce-nextjs- Instala las dependencias:
npm install-
Configura las variables de entorno (ver sección siguiente)
-
Inicia el servidor de desarrollo:
npm run dev- Abre http://localhost:3000 en tu navegador
Crea un archivo .env.local en la raíz del proyecto con las siguientes variables:
NEXT_PUBLIC_BACKEND_URL=https://api-ecommerce-nestjs.onrender.com/api
# NOTA: Debe esperar a que el backend se despliegue en RenderNEXT_PUBLIC_BUSINESS_NAME=Nombre de tu negocio
NEXT_PUBLIC_BUSINESS_EMAIL=correo@ejemplo.com
NEXT_PUBLIC_BUSINESS_PHONE=+593999999999
NEXT_PUBLIC_BUSINESS_ADDRESS=Dirección completa del negocioNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...
CLERK_SECRET_KEY=sk_test_...
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/auth/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/auth/sign-up
NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL=/auth/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL=/auth/sign-up
NEXT_PUBLIC_CLERK_SIGN_IN_FALLBACK_REDIRECT_URL=/auth/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_FALLBACK_REDIRECT_URL=/auth/sign-up- Las variables con prefijo
NEXT_PUBLIC_son accesibles en el cliente CLERK_SECRET_KEYsolo está disponible en el servidor (no requiere prefijoNEXT_PUBLIC_)NEXT_PUBLIC_BUSINESS_PHONEdebe incluir el código de país (ej:+593999999999)- Todas las variables son validadas al iniciar la aplicación usando Zod
# Desarrollo
npm run dev # Inicia el servidor de desarrollo con Turbopack
# Producción
npm run build # Construye la aplicación para producción
npm run start # Inicia el servidor de producción
# Calidad de Código
npm run lint # Ejecuta ESLint
npm run type-check # Verifica los tipos de TypeScriptapp-ecommerce-nextjs/
├── app/ # Rutas y páginas de Next.js
│ ├── (user)/ # Rutas públicas del usuario
│ ├── admin/ # Panel de administración
│ └── auth/ # Páginas de autenticación
├── components/ # Componentes React
│ ├── home/ # Componentes de la página principal
│ ├── product/ # Componentes de productos
│ ├── shared/ # Componentes compartidos
│ └── ui/ # Componentes de UI (shadcn/ui)
├── actions/ # Server actions y funciones del servidor
├── stores/ # Zustand stores para estado global
├── types/ # Definiciones de tipos TypeScript
├── utils/ # Utilidades y helpers
└── env.ts # Validación de variables de entorno
La aplicación soporta dos roles principales:
- Admin: Acceso completo al panel de administración
- User: Acceso a compras, carrito, favoritos y perfil
- Navegación por categorías y marcas
- Búsqueda y filtrado de productos
- Carrito de compras
- Lista de favoritos
- Perfil de usuario
- Historial de compras
- Gestión de productos (crear, editar, eliminar)
- Gestión de categorías
- Gestión de marcas
- Gestión de usuarios
- Visualización de ventas y estadísticas
Este es un proyecto privado de Fastery, LLC. Para contribuciones, por favor contacta al equipo de desarrollo.
UNLICENSED - Propiedad privada de Fastery, LLC.
Para soporte técnico, contacta a:
- Email: info@fastery.dev
- Website: https://fastery.dev
Desarrollado con ❤️ por Fastery, LLC
