Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Esquema de programa en nodeJS, Resúmenes de Programación Funcional

v Esquema de programa en nodeJS

Tipo: Resúmenes

2025/2026

Subido el 21/03/2026

jonathan-huarcalla-hectorias
jonathan-huarcalla-hectorias 🇵🇪

2 documentos

1 / 4

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Documentación técnica de la aplicación de Consultas WEB API
1. Requisitos Previos
Node.js instalado.
Docker instalado.
DB Browser for SQLite instalado.
2. Preparar el Entorno
En la raíz del proyecto:
npm init -y
npm install
npm install express
npm install sqlite3
npm install axios
npm install express-session
npm install cors
npm install -g npx
Nota:
Si tienes errores al instalar sqlite3, ejecuta:
npm cache clean --force
y vuelve a intentar npm install sqlite3.
3. Ejecutar el Proyecto
Opción 1: Usando Node
npm start
Opción 2: Usando Docker
Construir la imagen Docker:
docker build -t breadboy .
Ejecutar el contenedor:
docker run -p 3000:3000 breadboy
Estructura del proyecto
├── .vscode/ # Configuración del editor
├── config/ # Configuraciones adicionales
├── data/ # Base de datos y scripts SQL
│ ├── database.sqlite
│ └── Script.sql
pf3
pf4

Vista previa parcial del texto

¡Descarga Esquema de programa en nodeJS y más Resúmenes en PDF de Programación Funcional solo en Docsity!

Documentación técnica de la aplicación de Consultas WEB API

1. Requisitos Previos

Node.js instalado.  Docker instalado.  DB Browser for SQLite instalado.

2. Preparar el Entorno

En la raíz del proyecto: npm init -y npm install npm install express npm install sqlite npm install axios npm install express-session npm install cors npm install -g npx Nota: Si tienes errores al instalar sqlite3, ejecuta: npm cache clean --force y vuelve a intentar npm install sqlite3.

3. Ejecutar el Proyecto

Opción 1: Usando Node

npm start

Opción 2: Usando Docker

Construir la imagen Docker: docker build -t breadboy. Ejecutar el contenedor: docker run -p 3000:3000 breadboy

Estructura del proyecto

├── .vscode/ # Configuración del editor ├── config/ # Configuraciones adicionales ├── data/ # Base de datos y scripts SQL │ ├── database.sqlite │ └── Script.sql

├── node_modules/ # Dependencias del proyecto ├── public/ # Archivos públicos (frontend) │ ├── src/ │ │ └── services/ # Servicios de API y Frontend │ │ ├── api.js │ │ ├── inicio.html │ │ ├── login.html │ │ ├── manage-users.html │ │ ├── manage-users.js │ │ ├── scriptInicio.js │ │ ├── scriptLogin.js │ │ └── styles.css ├── .dockerignore # Ignorar archivos en Docker ├── Doc.docx # Documentación (Word) ├── Dockerfile # Instrucciones para construir el contenedor ├── Index.js # Archivo principal de la app Node.js ├── package-lock.json # Lockfile de npm ├── package.json # Dependencias y scripts del proyecto

Flujo de Autenticación

1. Registro de Usuario:

o El código incluye una ruta (/api/users) para crear nuevos usuarios.

o Utiliza bcrypt.genSalt() y bcrypt.hash() para encriptar la contraseña antes de

almacenarla en la base de datos.

2. Inicio de Sesión:

o La ruta /api/login verifica las credenciales del usuario.

o Utiliza bcrypt.compare() para comparar la contraseña ingresada por el

usuario con la contraseña encriptada almacenada en la base de datos.

o Si las credenciales son válidas, se crea una sesión para el usuario.

3. Cierre de Sesión:

o La ruta /api/logout destruye la sesión del usuario.

Gestión de Pedidos

El código incluye varias rutas para gestionar los pedidos:

 /webhook/rappi/new_order: Recibe webhooks de nuevos pedidos (por ejemplo, de

Rappi) y los guarda en la base de datos.

 /api/pedidos/detalle/:nroOrden: Obtiene los detalles de un pedido específico.

 /api/pedidos/aceptar: Acepta un pedido y actualiza su estado.

 /api/pedidos/cancelar: Cancela un pedido.

 /api/pedidos/confirmar: Confirma que un pedido está listo para ser recogido.

 /api/pedidos/pendientes, /api/pedidos/preparando, /api/pedidos/porEntregar: Obtienen listas

de pedidos en diferentes estados.

Guardado y cargado de la configuración de la API

 /get-latest-config: Obtiene la configuración más reciente de la API.

 /save-config: Guarda la configuración de la API en la base de datos.

Funciones Asíncronas (Para Operaciones Asíncronas)

 getAccessToken(): Obtiene un token de acceso de una API externa.

 loadLatestConfig(): Carga la configuración más reciente de la API desde la base de

datos.

 start(): Función principal asíncrona que carga la configuración y obtiene el token

de acceso antes de iniciar el servidor.