0% encontró este documento útil (0 votos)
93 vistas

Node Js

Este documento describe los requerimientos para crear una API Dockerizada para un gimnasio que permita registrar usuarios por sede y ciudad. Se solicita crear un modelo de datos, endpoints para inicio de sesión, registro de ciudades, sedes y usuarios, y pruebas unitarias y de integración para validar la API.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
93 vistas

Node Js

Este documento describe los requerimientos para crear una API Dockerizada para un gimnasio que permita registrar usuarios por sede y ciudad. Se solicita crear un modelo de datos, endpoints para inicio de sesión, registro de ciudades, sedes y usuarios, y pruebas unitarias y de integración para validar la API.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 31

PRUEBA PRÁCTICA.

CUADRAR VISUAL ESTUDIO CODE PARA EL HIPERTERMINAL


Cambiar la terminal de Visual Studio Code por ZSH. | by Luis Subiabre | Medium

“No Pain No Gain” es un gimnasio que recientemente abrió las puertas en el país y está
requiriendo la creación de una API Dockerizada que le permita registrar sus usuarios por
sede y por ciudad.
Cada ciudad puede tener N sedes, y cada sede puede tener un Max de 300 usuarios.
El sistema va a tener usuarios admin que son funcionarios del gimnasio y los usuarios
normales que son aquellos usuarios del gimnasio.
Los usuarios admin pueden crear ciudades y sedes y deben estar logueados para poder
llevar a cabo dichas acciones, y los usuarios normales pueden consumir directamente el
servicio de registro, pero estos no pueden registrarse más de dos veces.
- Crear un modelo de datos para soportar los requerimientos del gimnasio usando
mySql o Sql Server.
- Crear un endpoint que permita al usuario admin iniciar sesión.
- Crear un endpoint para el registro de las ciudades (Solo puede ser consumido por un
admin que este logueado).
- Crear un endpoint para el registro de sedes (Solo puede ser consumido por un admin
que este logueado).
- Crear un endpoint para el registro de usuarios. Validar si el usuario ya está
registrado.
- Crear un endpoint que me permita consultar los usuarios registrados en una sede de
una determinada ciudad sedes (Solo puede ser consumido por un admin que este
logueado).
- Agregar por lo menos 3 pruebas unitarias usando Jest.
- Crear una colección usando Postman (https://www.getpostman.com/) que tenga el
consumo de los endpoints:
Inicio de sesión.
Registro de sede.
Registro de ciudad.
Registro de usuarios.
Consulta de usuarios registrados en una determinada sede.
Se recomienda usar Express JS para la construcción del API.
Subir el código a un repositorio público como github y compartir las instrucciones de como
desplegar la aplicación. Dichas instrucciones deben ser puestas en un archivo readme.md.
Agregar pruebas unitarias y de integración. Adicionalmente construir un FrontEnd en
Angular 6 o superior que permita consumir el API.
PRUEBA CIUDADES

2 PASO
3. AHORA INSTALAR EXPRESS FRAMEWORK PARA CREAR SERVIDORES HTTP

Ahora se invoca el código exprees


Se crea una variable app para invocar express
Se crea la puerta si el hosting la da
O se setea con set

SE PRUEBA QUE EL PUERTO ESTE CORRIENDO


TUTORIAL NODE JS
Los pasos son los siguientes:
1. Ir a: File > Preferencies > Settings.
2. En Setting dirigirse a: Features > Terminal.
3. Ubicar la opción: Integrated > Automation Shell: Windows y seleccionar
donde dice “Edit in settings. json” el cual abrirá un archivo de configuración.
4. Reemplazar el valor de la siguiente linea:

1 CREAR UN PCAKGE JASON


Sale esto
Versión para ir versionando
Instalar un framework para escribir
Express para escribir código de servidor
Motor de plantillas html
Modulo Morgan para ver que lo que está pidiendo los usuario ver los logs o registros que
hace los usuarios al servidores.
Carpeta source: para una carpeta
Entonces

Entonces para pintar mi primer hello word


var http = require('http');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World!');
}).listen(8080);

El módulo HTTP integrado


Node.js tiene un módulo integrado llamado HTTP, que permite a Node.js
transferir datos a través del protocolo de transferencia de texto de Hyper
(HTTP).

Para incluir el módulo HTTP, utilice el método:require()

Node.js como servidor de archivos


El módulo del sistema de archivos Node.js le permite trabajar con el
sistema de archivos de su equipo.

Para incluir el módulo Sistema de archivos, utilice el método:  require()

var fs = require('fs');

Uso común para el módulo Sistema de archivos:

 Leer archivos
 Crear archivos
 Actualizar archivos
 Eliminar archivos
 Cambiar el nombre de los archivos

Leer archivos
El método se utiliza para leer archivos en el equipo.fs.readFile()

Supongamos que tenemos el siguiente archivo HTML (ubicado en la misma


carpeta que Node.js):

demofile1.html

<html>
<body>
<h1>My Header</h1>
<p>My paragraph.</p>
</body>
</html>

Cree un archivo Node.js que lea el archivo HTML y devuelva el contenido:

Utilizando el método open se crea una rchivo vacion en nuestra ruta de


carpetas

var fs = require('fs');

fs.open('mynewfile2.txt', 'w', function (err, file) {
  if (err) throw err;
  console.log('Saved!');
});

vpn bróker}

C:\xampp1\htdocs\pruebagimnasio>node src/index.js

Instalar mySQL Driver


Una vez que tenga MySQL en funcionamiento en su equipo, puede acceder
a él mediante Node.js.
Para acceder a una base de datos MySQL con Node.js, necesita un
controlador MySQL. Este tutorial utilizará el módulo "mysql", descargado de
NPM.

Para descargar e instalar el módulo "mysql", abra el Terminal de comandos


y ejecute lo siguiente:

C:\Users\Your Name>npm install mysql

Ahora ha descargado e instalado un controlador de base de datos mysql.

Node.js puede utilizar este módulo para manipular la base de datos MySQL:

var mysql = require('mysql');

ADVERTISEMENT

Crear conexión
Comience creando una conexión a la base de datos.

Utilice el nombre de usuario y la contraseña de su base de datos MySQL.

demo_db_connection.js

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
});

Ejemplo de ejecución »
INSTALAR EXPRESS

INSTALAR MORGAN PARA VER LAS PETICIONES EN SERVIDOR


DENTRO DEL PACKED JSON SE ESCRIBE EN LOS SCRIPTS PARA
EJECUTAR

START PARA QUE CORRA AUTOMATICA MENTE

SE INSTALA NODEMONg
NODEMON PARA DESARROLLOA

ES PARA QUE LOS CAMBIOS SE HAGAN EN VIVO


SIN PARAR EL SERVIDOR
PARA EJECUTAR ES ASI
CREAR VARIBLE PARA CAMBIAR POR DONDE ESCUCHA EL PUERTO
CODIGO PARA SABER LA DIRECCION
Con el comando
_dirname

PARA PUBLICAR UNA PAGINA WEB


Que se llama login
PARA UTILIZAR EL MOTOR DE EXPREES
  //configuracion de motor de plantilla con express
  app.set('view engine', 'ejs');

PARA UTILIZAR EL MOTO DE PLANTILLAS EXPRESS DONDE LA CARPETA SE


LLMA VIEWS
PARA METER CODIGO EN LA PLANTILLA HTML

Se crea otra estructura de carpetas


Routes -index.js
OJO PARA PASAR VARIABLES de js a la plantilla express
OJO PLANTILLA JS DENTRO DE LA CARPETA VIEWS
HA PLANTILLA LOGINE.EJS GENERADRO DE PLANTILLA EXPRESS COLOCAR
VARIBALES EN HTML PARA SE VISUALIZAN BIEN LIMPIAS

PARA ENRUTAR COMO DEBE SER


Se crea una carpeta en src llamada routes
Dentro de routes se crea un archivo llamado
index.js

DESDE HAY LLAMA login.ejs donde va el código javascript

ES DECIR CUANDO SE EJECUTA node src/index.js este llama el index.js que esta en route y el
index.js llama login

EJEMPLO PARA CREAR ADMIN USUARIOS


Se crea en la vista el archivo usuariosadmin se
adiere la ruta en el index.js dentro de la carpeta
router

PARA CAMBIAR TODO LO QUE DIGA LA


ESTENSION ejs por html
Eso se hace en el index.js que esta en el router
OJO CAMBIAR LAS EXTESIONES EJS POR .HTML,
DE TODAS MANERAS EL MOTOR DE PLANTILLAS
DE EXPRESS LO VA A RENDERIZAR COMO .EJS

Ahora hay que cambiar el index.js de la carpeta


router los nombres.
PARA UTILIZAR ICONOS ESTA PAGINA Y SE
AGREGA COMO BOOSTRAP

PARA AGREGAR ESOS ICONOS SE AGREGA LA


CLASE
OJO OPERAR EN NODE JS IMPORTAR LOS METODOS DE math.js
METODO EN NODE JS PARA CREAR ARCHIVOS Y ESCRIBIR DENTRO DE ELLOS

Se crea el archivo texto.txt

MODO DE HACER CONSULTAS


METODO LEER ARCHIVOS EL QSE CREO SE LEE Y LO CONVIERTE EN UN STRING ESTE TIPO DE
CODIGO ES NO BLOQUENATE ES DECIR SE EJCUTA Y SIGUE EJECUTANDO

SE OBTIENE LA RESPUESTA

DENTRO DE UN OBJETO JAVASCRIPT


PARA INSTALAR NPM

PARA INSTALRA NPM


Y SE AGREGA UN NODE MODOULES
Y UN PACKAGE JASON
PARA INVOCAR EL MODULO

CUANDO SE SUBE AL SERVIDOR BORRO EL NODE MODULOS.


CON NPM INSTALL LEE EL PACKAGE JEISON PARA INSTALALRLO
Seis reglas
1. Arquitectura clientes servidor consumir y brindar recursos.
2. State les: no guarda solicitudes no guarda solicitudes anteriores.
3. Rutas o enpoints, cambian sin cambiar la uniformidad variante.
4. Interfaz uniforme.
5. Codigo on demand: web on asembly
6.
node src/index.js

También podría gustarte