Skip to content

hyst3ric41/js-examples

Repository files navigation

Prácticas en Javascript, Typescript y Node

Ordenadas de menor a mayor dificultad y por tecnología.

Indice

  • /npm-first-package. Creación y publicación de una dependencia de NPM invocable desde consola.
  • /ecmascript. Ejemplos de características de Javascript escritos en distintas versiones de ECMAScript.
  • /webpack-page. Configuración básica de Webpack 4+ para proyectos web con Javascript puro.
    • Configuración de entorno de desarrollo y entorno de producción mediante archivos de configuración.
    • Transpilación de sintaxis moderna a ES5 con Babel y vinculación al HTML.
    • Minificación e inyección de estilos CSS al Javascript.
    • Generación de archivos minificados de estilos CSS y vinculación al HTML.
    • Preservación de assets.
    • Automatización de tareas como limpieza de carpeta /dist en cada $ npm run build.
  • /http-requests-page. Proyecto web con Javascript puro que consume la API de Chistes de Chuck Norris a través de HTTP.
    • Petición GET con fetch.
    • Promesas en cadena.
    • Subida de imagenes a Cloudinary.
  • /todo-app-console. Aplicacion de TODOs para consola. Demostración
    • Manejo avanzado de interfaces gráficas para consola con paquete inquirer.js.
    • Coloreando impresiones en consola con paquete colors.
    • Generación de identificadores únicos con paquete uuidv4.
    • Escritura y lectura de un archivo json en el directorio del proyecto a modo de base datos.
  • /weather-app-console. Aplicación que para consultar el clima de una ciudad desde consola. Demostración
    • Manejo básico de variables de entorno con paquete dotenv.
    • Consumo del API endpoint de Mapbox Places y OpenWeatherMap a través de axios.
    • Historial de llamadas a API endpoints.
  • /express-server. Servidor web con manejo básico de rutas. Demostración
    • Manejo básico de rutas tipo GET.
    • Generación de templates semi-dinámicos con paquete express-handlebars.
    • Renderizado en el lado del servidor de app de Angular 2+ genérica.
  • /basic-rest-api. Servidor REST API básico.
    • Encapsulamiento de Express mediante una clase.
    • Manejo de rutas (GET, PUT, POST, DELETE, PATCH) a modo de middleware.
    • Implementación básica de paquete cors.
    • Implementación básica de middleware express.json().
    • Procesamiento de parámetros de segmento y parámetros opcionales.
  • /marketplace. Servidor REST API con conexión a MongoDB y autenticación de usuarios que sirve una marketplace de artículos sobre la trilogía de Back to the Future. Demostración
    • Conexión a MongoDB Atlas con paquete mongoose.
    • Manejo de Schemas de MongoDB.
    • Encriptación de contraseña por hash de una vía con paquete bcrypt.js.
    • Implementación básica-intermedia de paquete express-validator.
    • Autenticación de usuarios y generación de tokens de sesión con paquete jsonwebtoken.
    • Autenticación de usuarios de Google y validación de tokens de sesión respectivos con paquete google-auth-library.
    • Protección de rutas para usuarios autenticados y/o según su rol con middlewares personalizados.
    • Búsquedas en colecciones de MongoDB a través de queries.
    • Implementación básica de subida y descarga de imagenes a servidor con paquete express-fileupload.
    • Rutas de API REST:
      • POST ...herokuapp.com/auth/login (Obtener JWT de sesión)
      • POST ...herokuapp.com/user (Crear usuario)
      • POST ...herokuapp.com/user/with-google (Crear usuario con Google Sign In)
      • PUT ...herokuapp.com/user/:id (Actualizar usuario)
      • GET ...herokuapp.com/user (Obtener usuarios)
      • DELETE ...herokuapp.com/user/:id (Borrar usuario)
      • GET ...herokuapp.com/category (Obtener categorías)
      • GET ...herokuapp.com/category/:id (Obtener categoría en específico)
      • POST ...herokuapp.com/category/ (Crear categoría)
      • PUT ...herokuapp.com/category/:id (Actualizar categoría)
      • DELETE ...herokuapp.com/category/:id (Borrar categoría)
      • GET ...herokuapp.com/product (Obtener productos)
      • GET ...herokuapp.com/product/:id (Obtener producto en específico)
      • POST ...herokuapp.com/product (Crear producto)
      • PUT ...herokuapp.com/product/:id (Actualizar producto)
      • DELETE ...herokuapp.com/product/:id (Borrar producto)
      • GET ...herokuapp.com/search/products/:query (Ejecutar búsqueda de productos)
      • POST ...herokuapp.com/images/product/:id (Subir imagen de producto)
      • GET ...herokuapp.com/images/product/:id (Descargar imagen de producto)
  • /socket-server. Servidor web que implementa web sockets.
    • Implementación de web sockets con Socket.io.
  • /socket-chat. Aplicación de chat en tiempo real.
    • Autenticación de JWT en conexiones de web sockets.
    • Creación de salas y mensajes privados.
  • /ts-express-server. Servidor web Express en Typescript.
    • Configuración básica de Typescript y scripts.
  • /web-scraping. Bot de web scraping con puppeteer.
    • Extracción de título h1 de la web Wikipedia con paquete puppeteer.
  • /electron-app. Aplicación web empaquetada para escritorio (Windows, Mac y Linux) con electron.
    • Manejo básico de empaquetamiento con paquete electron.
  • /mediaplayer. Media player app en Javascript puro con video de Invincible.
    • Manejo básico de etiqueta de video y sus métodos.
    • Creación y manejo básico de plugins propios.
    • Implementación de Service Worker para cachear contenido web.
    • Manejo de APIS del DOM:
      • InstersectionObserver para observar los valores del viewport de la página.
      • VisibilityChange para detectar cuando el tab del navegador ha dejado de mostrar la página.
  • /unit-testing. Imitación de un framework de Unit Testing.
    • Función it() y función _expect().

About

Ejercicios en Javascript, Typescript y Node

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published