Skip to content

agimenezgor/Api-Rest_Tienda

Repository files navigation

Proyecto final del Bootcamp de Backend con express de Geekshubs academy.

Se trata de una api-rest para una e-commerce mediante express que utiliza Mongodb como base de datos y que gestiona todos los datos de los usuarios, productos y actos de venta de la tienda.

Para empezar: - npm install (para instalar node modules) - npm start (para arrancar la API REST)

pd: Es necesario tener MongoDB instalado para poder arrancar la API REST.

Los endpoints de la Api son los siguientes:

Usuario:

- /users/all 
Método get que devuelve todos los usuarios de la base de datos.
Acceso solo usuarios con role de administrador.

- /users/email/:email 
Método get que devuelve un usuario al pasarle su email.
Acceso solo usuarios con role de administrador o vendedor.

- /users/user
Método get que devuelve todos los usuarios de la base de datos con role de usuario.
Acceso solo usuarios con role de administrador o vendedor.

- /users/seller
Método get que devuelve todos los usuarios de la base de datos con role de vendedor.
Acceso solo usuarios con role de administrador o vendedor.

- /users/admin
Método get que devuelve todos los usuarios de la base de datos con role de administrador.
Acceso solo usuarios con role de administrador.

- /users/register
Método post que registra un usuario en la base de datos.
Acceso para todos los usuarios.

- /users/delete/:email
Método delete que elimina a un usuario de la base de datos.
Acceso solo usuarios con role de administrador.

- /users/login
Método get que logea al usuario en la tienda y devuelve un token de acceso.
Acceso para todos los roles de usuario.

- /users/update/:email
Método put que actualiza los datos de un usuario.
Acceso para todos los roles de usuario.

Producto:

- /products/register/all
Método post que registra todos los productos de ddbb_coches.json para poder testear la Api con facilidad.
Acceso para todos los roles de usuario.

- /products/register
Método post que registra un nuevo producto en la base de datos.
Acceso solo para roles de adminsitrador.

- /products/delete
Método delete que elimina un producto en la base de datos.
Acceso solo para roles de adminsitrador.

- /products/update
Método put que actualiza un producto en la base de datos.
Acceso solo para roles de adminsitrador.

- /products/all
Método get que devuelve todos los productos de la tienda.
Acceso para todos los roles de usuario.

- /products/all/category
Método get que devuelve todos los productos de una categoria en concreto.
Acceso para todos los roles de usuario.

- /products/all/price
Método get que devuelve todos los productos que estén entre un rango de precios en concreto.
Acceso para todos los roles de usuario.

- /products/all/seller
Método get que devuelve todos los productos vendidos por un vendedor en concreto.
Acceso para roles de administrador y vendedor.

- /products/all/category/sold
Método get que devuelve todos los productos vendidos de una categoria en concreto.
Acceso para roles de adminstrador y vendedor.

- /products/all/category/stock
Método get que devuelve todos los productos de una categoria en concreto que estén en stock.
Acceso para todos los roles de usuario.

- /products/all/stock
Método get que devuelve todos los productos en stock de la tienda.
Acceso para todos los roles de usuario.

Actos de venta:

- /carts/register
Método post que registra un nuevo acto de venta.
Acceso para todos los roles de usuario.

- /carts/update
Método put que actualiza un acto de venta.
Acceso para todos los roles de usuario.

- /carts/all
Método get que devuelve todos los actos de venta.
Acceso para roles de administrador y vendedor.

- /carts/cartNumber
Método get que busca un acto de venta mediante el número de identificación del acto de venta.
Acceso para todos los roles de usuario.

- /carts/all/user
Método get que devuelve los actos de venta de un usuario.
Acceso para todos los roles de usuario.

- /carts/all/seller
Método get que devuelve los actos de venta de un vendedor.
Acceso para roles de administrador y vendedor.

- /carts/update/seller
Método put que permite a un vendedor modificar un acto de venta en concreto.
Acceso para todos los roles de vendedor.

- /carts/store/collection
Método get que devuelve la cantidad la recaudación de la tienda.
Acceso para roles de administrador y vendedor.

- /carts/pay
Método put que permite a un usuario pagar un acto de venta.
Acceso para todos los roles de usuario.

- /carts/paidOut
Método get que devuelve todos los actos de venta pagados.
Acceso para roles de adminstrador y vendedor.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages