API Rest construida con Express y MySQL y ofrece endpoints para crear y editar ingresos y egresos de dinero y mostrar un balance resultante de las operaciones registradas.
Primero debe ejecutar el script sql que creara la base de datos, sus tablas y algunos datos de prueba iniciales. El script se encuentra en la carpeta database/db.sql
Una vez se haya completado la creacion de la basa de datos debe crear el archivo .env en la raiz del proyecto con las siguientes variables de entorno:
- NODE_ENV=development
- PORT=4000
- HOST=localhost
- USER_DB=your-user-db
- PASSWORD_DB=your-password-db
- DATABASE=database_budget
Por ultimo, ejecutar el comando npm install para instalar las dependencias y a continuacion npm run dev para iniciar el servidor.
- npm install
- npm run dev
Tomando como ejemplo una ejecución local, dispone de los siguientes endpoints:
- [GET] http://localhost:4000/api/operations
- [POST] http://localhost:4000/api/operations
- [DELETE] http://localhost:4000/api/operations
- [PUT] http://localhost:4000/api/operations/:id
- [GET] http://localhost:4000/api/operations/entries
- [GET] http://localhost:4000/api/operations/outputs
- [GET] http://localhost:4000/api/balances/:id
- Para registrar un usuario:
{
"concept": "concept-example",
"amount": "amount-example",
"date_registered": "date-example",
"type_operation": "operation-type-example",
}
- Un ejemplo podría verse de la siguiente forma: { "concept": "Cobro deuda", "amount": 5000, "date_registered": "2021-03-20", "type_operation": "Ingreso", }
- Un salida basada en el ejemplo anterior se vería de la siguiente forma:
{
"data": {
"operations": [
{
"id": 1,
"concept": "Cobro deuda",
"amount": 5000,
"date_registered": "2021-03-20T03:00:00.000Z",
"type_operation_id": 1
}
]
}
- Para el endpoint
http://localhost:4000/api/balances/:id
un ejemplo de la salida seria la siguiente:
{
"data": {
"balance": {
"id": 1,
"last_balance": 5000
}
}
}
- El formato para las fechas es:
yyyy-mm-dd
- Node.js
- Express.js
- MySQL