Skip to content

Repository files navigation

Teslo Shop | Ecommerce Full-Stack

¡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.

🚀 Stack Tecnológico

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 Next.js
Tecnología Frontend React
Lenguaje TypeScript
Gestión de Estado Zustand
Backend Node.js
Base de Datos PostgreSQL
ORM Prisma
Pagos PayPal
Contenerización Docker

🔧 Guía de Instalación y Puesta en Marcha

Sigue estos pasos para configurar y ejecutar el proyecto en tu entorno de desarrollo local.

1. Prerrequisitos

Asegúrate de tener instalado lo siguiente en tu sistema:

2. Clonar el Repositorio

git clone https://github.com/danield413/TesloShopNextJS15.git
cd tu-repositorio

3. Configurar Variables de Entorno

Crea una copia del archivo .env.template y renómbralo a .env. Luego, asigna los valores correspondientes a cada variable.

cp .env.template .env

Dentro 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.

4. Instalar Dependencias

Usa tu gestor de paquetes preferido para instalar todas las dependencias del proyecto.

npm install

O si usas yarn:

yarn install

5. Levantar la Base de Datos con Docker

El 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 -d

6. Aplicar Migraciones de la Base de Datos

Prisma 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 dev

7. Poblar la Base de Datos (Seed)

Ejecuta el script de "seed" para poblar la base de datos con datos de prueba (productos, usuarios, categorías, etc.).

npm run seed

8. ¡Ejecutar el Proyecto!

Finalmente, 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.


🐳 Comandos Útiles de Docker

  • 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

About

Next JS + React JS + TypeScript + Zustand + Prisma + Node JS + PostgreSQL + Paypal + Server Actions | Teslo Shop Ecommerce

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages