¡Bienvenido a Teslo Shop! Una plataforma de comercio electrónico de alto rendimiento construida con las tecnologías más modernas del ecosistema de JavaScript.
Este proyecto ofrece una experiencia de compra fluida, segura y escalable, utilizando las últimas características de Next.js como los Server Actions, sistemas de autenticación modernos como NextAuth y el uso de buenas prácticas mediante Zustand.
Este proyecto utiliza una selección de tecnologías eficientes para garantizar el mejor rendimiento y la mejor experiencia de desarrollo.
| Área | Tecnología |
|---|---|
| Framework | |
| Tecnología Frontend | |
| Lenguaje | |
| Gestión de Estado | |
| Backend | |
| Base de Datos | |
| ORM | |
| Pagos | |
| Contenerización |
Sigue estos pasos para configurar y ejecutar el proyecto en tu entorno de desarrollo local.
Asegúrate de tener instalado lo siguiente en tu sistema:
- Node.js (v18.x o superior)
- npm o yarn
- Docker y Docker Compose
git clone https://github.com/danield413/TesloShopNextJS15.git
cd tu-repositorioCrea una copia del archivo .env.template y renómbralo a .env. Luego, asigna los valores correspondientes a cada variable.
cp .env.template .envDentro del archivo .env, encontrarás variables críticas para el funcionamiento de la aplicación:
DATABASE_URL: URL de conexión a la base de datos PostgreSQL.NEXT_PUBLIC_PAYPAL_CLIENT_ID: ID de cliente de tu aplicación de PayPal Sandbox.PAYPAL_SECRET: Clave secreta de tu aplicación de PayPal Sandbox.NEXTAUTH_SECRET: Un secreto para la autenticación. Puedes generar uno en la terminal con:openssl rand -base64 32.
Usa tu gestor de paquetes preferido para instalar todas las dependencias del proyecto.
npm installO si usas yarn:
yarn installEl proyecto está configurado para usar PostgreSQL en un contenedor de Docker. Ejecuta el siguiente comando para iniciar el servicio de la base de datos en segundo plano (-d).
docker compose up -dPrisma necesita sincronizar el esquema de la base de datos con los modelos definidos en schema.prisma. Este comando también genera el Cliente de Prisma (@prisma/client) para interactuar con la base de datos de forma segura.
npx prisma migrate devEjecuta el script de "seed" para poblar la base de datos con datos de prueba (productos, usuarios, categorías, etc.).
npm run seedFinalmente, inicia el servidor de desarrollo de Next.js.
npm run dev¡Listo! Abre tu navegador y visita http://localhost:3000 para ver la Teslo Shop en acción.
- Iniciar contenedor en segundo plano:
docker compose up -d - Detener contenedores:
docker compose down - Ver logs de los servicios:
docker compose logs -f - Acceder a la terminal del contenedor de la BD:
docker compose exec teslo-db bash - Conectarse a la base de datos con psql:
docker compose exec -it teslo-db psql -U postgres
Desarrollado con ❤️ por Daniel Díaz