Skip to content

TiareISM/DEV011-burger-queen-api

 
 

Repository files navigation

Burger Queen - API con Node.js

Acerca de la API

La Burger Queen API es una aplicación backend diseñada para gestionar pedidos y productos en un restaurant llamdo Burger Queen. Proporciona una interfaz de programación de aplicaciones (API) que permite a los clientes realizar pedidos y a los empleados administrar los productos y órdenes de manera eficiente.

Además, ofrece endpoints para agregar, ver, actualizar y eliminar productos, así como para realizar y gestionar órdenes de productos.

Características Principales

  1. Autenticación de Usuarios: Utiliza tokens JWT para autenticar y autorizar las solicitudes de los usuarios.

  2. Gestión de Productos: Permite a los empleados agregar, ver, actualizar y eliminar productos del menú de Burger Queen. Cada producto tiene un nombre, precio y categoría asociada.

  3. Gestión de Órdenes: Los usuarios pueden realizar órdenes de productos disponibles en el menú. Los empleados pueden ver, actualizar y eliminar los órdenes existentes.

Endpoints

La API ofrece varios endpoints para interactuar con los recursos disponibles. Principales endpoints y sus funciones:

Usuarios

POST/users: Crea un nuevo usuario en el sistema. Requiere correo electrónico y una contraseña.

GET/users: Obtiene la lista de todos los usuarios registrados. Requiere permisos de administrador.

GET/users/:uid: Obtiene detalles de un usuario especifíco identificado por su ID único.

PUT/users/:uid: Actualiza información de un usuario. Requiere autenticación y el ID del usuario a modificar.

DELETE/users/:uid: Elimina un usuario. Requiere autenticación y permisos de administrador.

Productos

POST/products: Agrega un nuevo productos al menú. Requiere autenticación y permisos de administrador.

GET/products: Obtiene la lista de los productos disponibles.

GET/products/:productid: Obtiene los detalles de un productos identificado por su ID único.

PUT/products/:productid: Actualiza la información de un producto. Requiere autenticación y permisos de administrador.

DELETE/products/:productid: Elimina un producto. Requiere autenticación y permisos de administrador.

Órdenes

POST/orders: Crea una nueva orden con los productos seleccionados. Requiere autenticación.

GET/orders: Obtiene la lista de las órdenes realizadas.

GET/orders/:orderid: Obtiene los detalles de una órden identificada por su ID único.

PUT/orders/:orderid: Actualiza el estado de una orden existente. Requiere autenticación.

DELETE/orders/:orderid: Elimina una orden. Requiere autenticación y permisos de administrador.

Códigos de Estados

200 OK: Indica que la solicitud ha tenido éxito.

400 Bad Request: Indica que la solicitud es incorrecta o no se pudo procesar.

401 Unauthorized: Indica que el cliente debe autenticarse para obtener la respuesta deseada.

403 Forbidden: Indica que el servidor entiende la solicitud, pero no se cumple o procesa debido a que el cliente no tiene los permisos necesarios.

404 Not Found: Se utiliza cuando el servidor no puede encontrar el recurso solicitado.

500 Internal Server Error: Indica que se produjo un error en el servidor y no se puedo completar la solicitud.

Servidor: Un programa informático que proporciona recursos, datos, servicios o funcionalidades a otros programas llamados clientes a través de una red.

Cliente: Un programa informático o una aplicación que solicita y consume recursos o servicios proporcionados por un servidor remoto a través de una red.

Tecnologías Utilizadas

JavaScript: Lenguaje de programación ampliamente urilizado tanto en el lado del cliente como el servidor.

Node.js: Entorno de ejecución de JavaScript.

Express.js: Framework de aplicación web para Node.js.

MongoDB: Base de datos NoSQL orientada a documentos para almacenar datos.

JSON Web Tokens (JWT): Estándar abierto para la transmisión segura de información, utilizado para autenticar y autorizar usuarios.

Bcrypt: Biblioteca para el hashing de contraseñas, utilizada para cifrar constraseñas almacenadas.

Postman: Herramienta utilizada para probar y documentar los endpoints.

Jest: Framework de pruebas de JavaScript con un enfoque en la simplicidad, utilizado para pruebas unitarias y de integración para el proyecto.

About

La Burger Queen API es una aplicación backend . Proporciona una interfaz de programación de aplicaciones (API) que permite a los clientes realizar pedidos y a los empleados administrar los productos y órdenes de manera eficiente.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%