Proyecto 3 del curso DWFS de ACAMICA
Realizar Backend creando una API rest que permita realizar pedidos a un restaurante llamado Delailah Resto
- Node.js (v12.13.0)
- Express
- JWT
- MySQL
- Sequelize
- Postman para testear los endpoints
- Swagger para crear documentación
opcional: puede instalar nodemon como entorno de desarrollo para un reinicio automático del servidor
npm install nodemon --save-dev
- Clonar Repositoio
Abrir terminal en la carpeta donde se va a clonar el proyecto y escribir el siguiente comando:
git clone http://github.com/leandroecabello/API_Delailah_Resto
y presione Enter.
Las dependencias se instalan con el siguiente comando:
npm install
Instalar XAMPP o algún otro sistema de gestión de base de datos MySQL. Se puede descargar e instalar en https://www.apachefriends.org/es/index.html.
En XAMPP se debera tener activado los módulos Apache y MySQL para poder realizar consultas a la base de datos.
obs: si utiliza otra herramienta realizar las operaciones equivalentes, por ej. mysqlworbench no requiere tener activo Apache
La misma se encuentra en la carpeta db con el nombre delilah_resto_db, cuenta con datos de usuarios (1 admin y 2 users) y productos listos para realizar las consultas que precise.
Puede ser ejecutada desde su gestor preferido o bien por consola
Es momento de comenzar!!
por consola nos posicionamos en la carpeta correspondientes y ejecutamos:
npm start
o Si tiene nodemon instalado
npm run dev
Listo para realizar las consultas
CREAR USUARIO
POST /users
Ejemplo de peticion
rol : (1: Admin, 0: User)
obs: el rol es optativo por defecto sera user en el ejemplo le agregaremos is_admin para generar un usuario admin
{
"username": "superUser",
"fullname": "Leandro",
"email": "leandro@mail",
"phone": "123456789",
"adress": "calle sin nonombre 123",
"password": "root123",
"is_admin": 1
}
Respuesta
{ message: 'User created successfully.' }
POST /login
Ejemplo
{
"username": "bootUser",
"pass": "abc123"
}
Respuesta
{
"message": "Logged in successfully.",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NSwiZnVsbG5hbWUiOiJ...."
}
VALIDAR USUARIO PARA REALIZAR UNA PETICIÓN
Ejemplo
POST /products
En Header configurar "KEY" como "Authorization" y en "VALUE" colocar "Bearer " y el "token" correspondiente.
obs : dejar espacio entre el bearer y el token
Respuesta
[
{
"id": 7,
"product_name": "Hamburguesa Clasica",
"description": null,
"price": 350,
"product_image": null
},
{
"id": 8,
"product_name": "Sandwich Veggie",
"description": null,
"price": 310,
"product_image": null
}
]
Para más información, ingresar al siguiente enlace docuAPI donde encontrara toda la documentacón necesaria o abrir archivo openapi.yml del repositorio