{"id":25403151,"url":"https://github.com/danield413/tesloshopnextjs15","last_synced_at":"2026-04-05T21:31:56.622Z","repository":{"id":276545548,"uuid":"929159611","full_name":"danield413/TesloShopNextJS15","owner":"danield413","description":"Next JS + React JS + TypeScript + Zustand | Teslo Shop Ecommerce","archived":false,"fork":false,"pushed_at":"2025-02-15T21:47:23.000Z","size":17480,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-16T02:29:08.270Z","etag":null,"topics":["nextjs","react","typescript","zustand"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danield413.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-07T23:13:01.000Z","updated_at":"2025-02-15T21:47:27.000Z","dependencies_parsed_at":"2025-02-08T23:34:50.756Z","dependency_job_id":null,"html_url":"https://github.com/danield413/TesloShopNextJS15","commit_stats":null,"previous_names":["danield413/tesloshopnextjs15"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danield413%2FTesloShopNextJS15","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danield413%2FTesloShopNextJS15/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danield413%2FTesloShopNextJS15/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danield413%2FTesloShopNextJS15/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danield413","download_url":"https://codeload.github.com/danield413/TesloShopNextJS15/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248574898,"owners_count":21127085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nextjs","react","typescript","zustand"],"created_at":"2025-02-16T02:28:03.199Z","updated_at":"2025-12-30T23:05:06.603Z","avatar_url":"https://github.com/danield413.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Teslo Shop | Ecommerce Full-Stack\n\n¡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. \n\nEste 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**.\n\n## 🚀 Stack Tecnológico\n\nEste proyecto utiliza una selección de tecnologías eficientes para garantizar el mejor rendimiento y la mejor experiencia de desarrollo.\n\n| Área                | Tecnología                                                                                                                                                                                                                                                                                                                            |\n| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| **Framework** | ![Next.js](https://img.shields.io/badge/Next.js-000000?style=for-the-badge\u0026logo=next.js\u0026logoColor=white)                                                                                                                                                                                                                                 |\n| **Tecnología Frontend** | ![React](https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB)                                                                                                                                                                                                                                     |\n| **Lenguaje** | ![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)                                                                                                                                                                                                                         |\n| **Gestión de Estado** | ![Zustand](https://img.shields.io/badge/Zustand-000000?style=for-the-badge\u0026logo=bear\u0026logoColor=white)                                                                                                                                                                                                                                   |\n| **Backend** | ![Node.js](https://img.shields.io/badge/Node.js-339933?style=for-the-badge\u0026logo=nodedotjs\u0026logoColor=white)                                                                                                                                                                                                                                 |\n| **Base de Datos** | ![PostgreSQL](https://img.shields.io/badge/PostgreSQL-4169E1?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white)                                                                                                                                                                                                                       |\n| **ORM** | ![Prisma](https://img.shields.io/badge/Prisma-2D3748?style=for-the-badge\u0026logo=prisma\u0026logoColor=white)                                                                                                                                                                                                                                     |\n| **Pagos** | ![PayPal](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge\u0026logo=paypal\u0026logoColor=white)                                                                                                                                                                                                                                     |\n| **Contenerización** | ![Docker](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white)                                                                                                                                                                                                                                     |\n\n---\n\n## 🔧 Guía de Instalación y Puesta en Marcha\n\nSigue estos pasos para configurar y ejecutar el proyecto en tu entorno de desarrollo local.\n\n### **1. Prerrequisitos**\n\nAsegúrate de tener instalado lo siguiente en tu sistema:\n\n-   [Node.js](https://nodejs.org/) (v18.x o superior)\n-   [npm](https://www.npmjs.com/) o [yarn](https://yarnpkg.com/)\n-   [Docker](https://www.docker.com/products/docker-desktop/) y [Docker Compose](https://docs.docker.com/compose/install/)\n\n### **2. Clonar el Repositorio**\n\n```bash\ngit clone https://github.com/danield413/TesloShopNextJS15.git\ncd tu-repositorio\n```\n\n### **3. Configurar Variables de Entorno**\n\nCrea una copia del archivo `.env.template` y renómbralo a `.env`. Luego, asigna los valores correspondientes a cada variable.\n\n```bash\ncp .env.template .env\n```\n\nDentro del archivo `.env`, encontrarás variables críticas para el funcionamiento de la aplicación:\n-   `DATABASE_URL`: URL de conexión a la base de datos PostgreSQL.\n-   `NEXT_PUBLIC_PAYPAL_CLIENT_ID`: ID de cliente de tu aplicación de PayPal Sandbox.\n-   `PAYPAL_SECRET`: Clave secreta de tu aplicación de PayPal Sandbox.\n-   `NEXTAUTH_SECRET`: Un secreto para la autenticación. Puedes generar uno en la terminal con: `openssl rand -base64 32`.\n\n### **4. Instalar Dependencias**\n\nUsa tu gestor de paquetes preferido para instalar todas las dependencias del proyecto.\n\n```bash\nnpm install\n```\n*O si usas yarn:*\n```bash\nyarn install\n```\n\n### **5. Levantar la Base de Datos con Docker**\n\nEl 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`).\n\n```bash\ndocker compose up -d\n```\n\n### **6. Aplicar Migraciones de la Base de Datos**\n\nPrisma 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.\n\n```bash\nnpx prisma migrate dev\n```\n\n### **7. Poblar la Base de Datos (Seed)**\n\nEjecuta el script de \"seed\" para poblar la base de datos con datos de prueba (productos, usuarios, categorías, etc.).\n\n```bash\nnpm run seed\n```\n\n### **8. ¡Ejecutar el Proyecto!**\n\nFinalmente, inicia el servidor de desarrollo de Next.js.\n\n```bash\nnpm run dev\n```\n\n¡Listo! Abre tu navegador y visita [http://localhost:3000](http://localhost:3000) para ver la Teslo Shop en acción.\n\n---\n\n## 🐳 Comandos Útiles de Docker\n\n-   **Iniciar contenedor en segundo plano:** `docker compose up -d`\n-   **Detener contenedores:** `docker compose down`\n-   **Ver logs de los servicios:** `docker compose logs -f`\n-   **Acceder a la terminal del contenedor de la BD:** `docker compose exec teslo-db bash`\n-   **Conectarse a la base de datos con psql:** `docker compose exec -it teslo-db psql -U postgres`\n\n---\n**Desarrollado con ❤️ por Daniel Díaz**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanield413%2Ftesloshopnextjs15","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanield413%2Ftesloshopnextjs15","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanield413%2Ftesloshopnextjs15/lists"}