Este proyecto está inspirado en la tienda de Testa shop.tesla.com. Fue creado con el objetivo de aprender Next JS y para crear mi primer ecommerce
NOTE: Proyecto en desarrollo todavia NOTE: Subir las imagenes de los productos a github
Para poder correr el proyecto en local se debe ejecutar los siguientes commandos
docker-compose up -d
yarn dev # ejecuta la aplicacion en desarrolloEste levanta la imagen de docker de la base de datos y posteriormente levantar la aplicación en modo desarrollo.
- Otros comandos útiles son:
yarn build # crea el build de producción de la aplicación
yarn start # ejecuta el build de producciónRenombrar el archivo .env.template a .env y asignarle los valores a las variables de entorno
- MONGO_URL: La url de la base de datos de mongo. Si es en desarrollo usamos mongodb://localhost:27017/teslodb.
- JWT_SECREET_SEED: Una frase secreta para la creación y validación de los Json Web Tokens.
- NEXT_PUBLIC_PAYPAL_CLIENT_ID: El
Client IDtoken de paypal. - PAYPAL_SECRET_ID: El
Secret IDtoken de paypal. - PAYPAL_OAUTH_URL: Link de Paypal para generar un token de acceso.
- PAYPAL_ORDERS_URL: Link de Paypal para verificar un arden(Este sin el /id_de_la_orden)
GET /api/seedEste endpoint purga la base de datos y la llena con datos de prueba. Este endpoint no es accesible en entorno de producción
GET /api/productsDevuelve todos los productos de la base de datos
GET /api/products?gender=menBuscar productos por un género.
- Params
- gender:
men|women|kid|unisex|all
- gender:
GET /api/products/[slug]Devuelve el producto que tiene el slug especificado
GET /api/search/[query]Busca los productos que contengan en su titulo o en los tags el query especificado
POST /api/user/login- Body
- email: El email del usuario
- password: El password del usuario
Realiza el login del usuario especificado
POST /api/user/register- Body
- name: El nombre del usuario
- email: El email del usuario
- password: El password del usuario
Realiza el registro y login del usuario especificado
GET /api/user/validate-tokenValida el token que está en las cookies y crea uno nuevo
POST /api/orders/pay- Body:
- transactionId: id de la transaccion al pagar una orden.
- orderId: id de la orden a pagar.
Carlos Manuel González Peña - twitter


