Material

Git

En esta materia utilizamos Git como herramienta para el control de versiones del código que vas a ir produciendo. El manejo que necesitás es básico, y está explicado en la guía rápida que te ofrecemos más abajo. El resto de los recursos pueden serte útiles si querés profundizar en el conocimiento de la herramienta.

Acá van a poder ver los comandos mas comunes que estaremos utilizando:

Comandos básicos de Git

Clonar repositorio

git clone [URL del repo original]

Nos permite crear una copia local del repositorio original (situado en GitHub).

Agregar archivos al área de preparación (staging area)

git add * .

Con este comando agregamos todos los archivos que deben estar en el 'staging area', es decir, nos va a permitir 'preparar' aquellos archivos que modificamos para que los podamos 'enviar' a través del commit.

Hacer commit de los cambios

git commit -m 'mensaje'

Nos permite 'actualizar' nuestro repositorio local con aquellos cambios que hayamos realizado. En la parte de 'mensaje' debemos aclarar de manera descriptiva aquello que hayamos modificado, por ejemplo 'git commit -m 'Modifiqué los errores que tenía en la resolución de mi ejercicio'

Subir cambios al repositorio remoto

git push origin [rama]

Esto nos posibilita actualizar el repositorio original que tenemos en GitHub con aquellos cambios que hicimos en nuestro repositorio local. En '[rama]' debemos especificar si se trata de main o master, por ejemplo 'git push origin master'

Obtener cambios del repositorio remoto

git pull

Nos permite bajar de GitHub todos los cambios que recibió nuestro proyecto. Nos servirá cuando trabajemos en grupo y otra persona realice cambios en el mismo. De esta manera tendremos la versión más reciente del proyecto de manera local.

Configurar nombre de usuario global

git config --global user.name

Ponemos nuestro usuario luego de 'user.name' y cargamos nuestro usuario en nuestra PC PERSONAL.

Configurar correo electrónico global

git config --global user.email

Ponemos nuestro mail luego de 'user.email' y cargamos nuestro mail en nuestra PC PERSONAL.

Aclaración: El "--global" SOLO se utiliza en PC PERSONALES, NO en la Universidad.

Javascript

JavaScript es un lenguaje de programación interpretado y orientado a objetos que permite crear interactividad en páginas web. En esta materia lo utilizaremos junto con Node.js para el desarrollo de APIs.

Docker

Docker es una plataforma de contenedores que nos permite crear, distribuir y ejecutar aplicaciones en entornos aislados. A continuación encontrarás recursos útiles.

Acá van a poder ver los comandos mas comunes que estaremos utilizando:

Comandos básicos de Docker

Listar imágenes

docker images

Muestra todas las imágenes de Docker disponibles localmente

Listar contenedores

docker ps

Muestra los contenedores en ejecución

Ejecutar contenedor

docker run [nombre-imagen]

Inicia un nuevo contenedor basado en una imagen

Iniciar/Detener contenedor

docker start/stop [contenedor]

Inicia o detiene un contenedor existente

NodeJs

Node.js es un entorno de ejecución de JavaScript del lado del servidor que permite a los desarrolladores ejecutar código JavaScript fuera de un navegador web. Node.js se basa en el motor V8 de JavaScript de Google Chrome, que convierte código JavaScript en código máquina, lo que hace que Node.js sea muy rápido y eficiente.

Acá van a poder ver los comandos mas comunes que estaremos utilizando:

Comandos básicos de NodeJs

Ver versión de Node.js

node -v

Muestra la versión de Node.js instalada

Ver versión de npm

npm -v

Muestra la versión de npm instalada

Inicializar proyecto con preguntas

npm init

Inicia el proyecto con preguntas interactivas

Inicializar proyecto con valores por defecto

npm init -y

Inicia el proyecto automáticamente con configuraciones por defecto

Ejecutar app con Node.js

node index.js

Inicia el archivo principal del proyecto

Instalar un paquete como dependencia

npm i [nombre-paquete]

Instala un paquete en la sección de dependencias

Instalar Express

npm i express

Instala el framework Express como ejemplo

Instalar paquete solo para desarrollo

npm i -D [nombre-paquete]

Instala un paquete solo para desarrollo

Instalar nodemon como dependencia de desarrollo

npm i -D nodemon

Instala nodemon para recargar la app automáticamente en desarrollo

Ejecutar script start

npm start

Ejecuta el script 'start' configurado en package.json

Ejecutar script dev

npm run dev

Ejecuta el script 'dev' configurado en package.json

Ejecutar app con nodemon

nodemon index.js

Inicia el archivo principal del proyecto y lo recarga al guardar cambios

Instalar todas las dependencias

npm i

Instala todas las dependencias del archivo package.json

Desinstalar un paquete

npm uninstall [nombre-paquete]

Elimina un paquete de node_modules y package.json

Express

Express (o Express.js) es un framework web para Node.js que te permite crear servidores y manejar rutas y controladores de forma simple y rápida.

ORM - Sequelize

Sequelize es un ORM (Object-Relational Mapper) para Node.js que permite interactuar con bases de datos SQL (como PostgreSQL, MySQL, SQLite y MSSQL) utilizando JavaScript en lugar de escribir directamente consultas SQL.

Acá van a poder ver los comandos mas comunes que estaremos utilizando:

Comandos básicos de ORM - Sequelize

Instalar Sequelize

npm install sequelize

Instala la dependencia de Sequelize

Instalar Sequelize CLI

npm install --D sequelize-cli

Instala la dependencia de desarrollo Sequelize CLI

Inicializar Sequelize CLI

npx sequelize-cli init

Inicia Sequelize CLI en el proyecto

Crear un modelo con Sequelize CLI

npx sequelize-cli model:generate --name [nombre del mondelo] --attributes [nombre del atributo:tipo del atributo]

Crea el modelo con todos atributos indicados

Middlewares - Joi

Un middleware se encarga de hacer algo con esa solicitud antes de que llegue a su destino final. Puede ser algo como revisar que el usuario esté autenticado, registrar la solicitud en un archivo, o modificar la información que se envía. En cuanto a Joi es una biblioteca popular en Node.js que se utiliza para validar datos de una manera sencilla y declarativa.

Sequelize-Relaciones

Las relaciones/associations son vínculos que se establecen entre los tablas/modelos para conectar datos que están relacionados entre sí. Sequelize, adminte las asociaciones One-To-One, One-To-Many y Many-to-Many.

Migraciones y Seeders

.

MongoDB

PPT utilizada en clase para explicar MongoDB y Mongoose

Mongoose

Operaciones básicas y comandos