Skip to content
This repository was archived by the owner on Jan 24, 2026. It is now read-only.
/ full-stack-open Public archive

Mis respuestas a los ejercicios del curso Full Stack Open 2025 - 2026.

License

Notifications You must be signed in to change notification settings

DiriARG/full-stack-open

Repository files navigation

Full Stack Open 🧐

En este repositorio, se encuentran mis respuestas a los ejercicios del curso Full Stack Open, dictado por la Universidad de Helsinki en colaboración con Houston Inc.

Isotipo de Full Stack Open

Desarrollador 👨‍💻:

  • Desarrollador: Matías Di Risio 👍
  • GitHub: DiriARG

Contenidos del curso 📚:

Parte 0: Fundamentos de las aplicaciones web:

En esta parte, nos familiarizaremos con los aspectos prácticos de realizar el curso. Después de eso, tendremos una descripción general de los conceptos básicos del desarrollo web y también hablaremos sobre los avances en el desarrollo de aplicaciones web durante las últimas décadas.

Imagen parte 0

Parte 1: Introducción a React:

En esta parte, nos familiarizaremos con la librería React, que usaremos para escribir el código que se ejecuta en el navegador. También veremos algunas características de JavaScript que son importantes para comprender React.

Imagen parte 1

Parte 2: Comunicándose con el servidor:

Continuemos nuestra introducción a React. Primero, veremos cómo representar una colección de datos, como una lista de nombres, en la pantalla. Después de esto, inspeccionaremos cómo un usuario puede enviar datos a una aplicación React utilizando formularios HTML. A continuación, nuestro enfoque se centra en ver cómo el código JavaScript en el navegador puede obtener y manejar los datos almacenados en un servidor backend remoto. Por último, echaremos un vistazo rápido a algunas formas sencillas de agregar estilos CSS a nuestras aplicaciones React.

Imagen parte 2

Parte 3: Programando un servidor con NodeJS y Express:

En esta parte, nuestro enfoque se desplaza hacia el backend, es decir, hacia la implementación de la funcionalidad en el lado del servidor. Implementaremos una API REST simple en Node.js utilizando la librería Express, y los datos de la aplicación se almacenarán en una base de datos MongoDB. Al final de esta parte, desplegaremos nuestra aplicación en Internet.

Imagen parte 3

Parte 4: Probando servidores Express, administración de usuarios:

En esta parte, continuaremos nuestro trabajo en el backend. Nuestro primer tema principal será escribir pruebas de unidad e integración para el backend. Una vez que hayamos cubierto las pruebas, analizaremos la implementación de la autenticación y autorización de usuario.

Imagen parte 4

Parte 5: Probando aplicaciones React:

En esta parte volvemos al frontend, primero mirando a diferentes posibilidades para probar el código React. También implementaremos la autenticación basada en tokens que permitirá a los usuarios iniciar sesión en nuestra aplicación.

Imagen parte 5

Parte 6: Gestión avanzada del estado:

Hasta ahora, hemos colocado el estado de la aplicación y la lógica de estado directamente dentro de los componentes de React. Cuando las aplicaciones crecen, la administración del estado debe trasladarse fuera de los componentes de React. En esta parte, presentaremos la librería Redux, que actualmente es la solución más popular para administrar el estado de las aplicaciones React.

Aprenderemos sobre la versión ligera de Redux compatible directamente con React, es decir el contexto de React y el hook useRedux, también sobre la librería React Query que simplifica la gestión de estados de la aplicación.

Imagen parte 6

Parte 7: React router, custom hooks, estilando la aplicación con CSS y webpack:

La séptima parte del curso aborda varios temas diferentes. Primero, nos familiarizaremos con React Router. React Router nos ayuda a dividir la aplicación en diferentes vistas que se muestran según la URL en la barra de direcciones del navegador. Después de esto, veremos algunas formas más de agregar estilos CSS a las aplicaciones React. Durante todo el curso hemos utilizado Vite para construir nuestras aplicaciones. También es posible configurar todas las herramientas uno mismo, y en esta parte veremos cómo se puede hacer esto con una herramienta llamada Webpack. También echaremos un vistazo a las funciones hook y a cómo definir un hook personalizado.

Imagen parte 7

Parte 8: GraphQL:

Esta parte del curso trata sobre GraphQL, la alternativa de Facebook a REST para la comunicación entre navegador y servidor.

Imagen parte 8

Parte 9: TypeScript:

Esta parte trata sobre TypeScript: un superconjunto de JavaScript de código abierto desarrollado por Microsoft que se compila en JavaScript simple.

En esta parte, utilizaremos las herramientas introducidas anteriormente para añadir funcionalidades end-to-end a un ecosistema existente, con linters predefinidos y una base de código existente, mientras escribimos TypeScript. Después de hacer esta parte, deberías poder comprender, desarrollar y configurar proyectos utilizando TypeScript.

Esta parte fue creada por Tuomo Torppa, Tuukka Peuraniemi y Jani Rapo, los increíbles desarrolladores de Terveystalo, el proveedor de servicios de salud privado más grande de Finlandia. La red nacional de Terveystalo cubre 300 ubicaciones en Finlandia. La red de clínicas se complementa con servicios digitales 24/7.

Imagen parte 9

Parte 10: React Native:

En esta parte, aprenderemos cómo compilar Android nativo y aplicaciones móviles iOS con JavaScript y React usando el marco React Native. Nos sumergiremos en el ecosistema React Native desarrollando una aplicación móvil completa desde cero. En el camino, aprenderemos conceptos tales como cómo renderizar componentes de interfaz de usuario nativos con React Native, cómo crear hermosas interfaces de usuario, cómo comunicarse con un servidor y cómo probar una aplicación React Native.

Imagen parte 10

Important

La parte 11 del curso no fue realizada porque, al momento de redactar este README, no se encontraba disponible en español, únicamente en inglés.
Imagen parte 11

Parte 12: Contenedores:

En esta parte, aprenderemos como empaquetar el código en unidades de software estandarizadas llamadas contenedores. Estos contenedores pueden ayudarnos a desarrollar software más rápido y fácil que antes. Durante el camino exploraremos un punto de vista completamente nuevo del desarrollo web, alejado de los ya familiares Node.js y React.

Utilizaremos contenedores para crear entornos de ejecución inmutables para nuestros proyectos de Node.js y React. Los contenedores también simplifican la inclusión de múltiples servicios en nuestros proyectos. Con su flexibilidad, exploraremos y experimentaremos con muchas herramientas populares al utilizar los contenedores.

Esta sección ha sido creada por Jami Kousa en colaboración con el equipo Services Fundation de Unity radicado en Helsinki. El equipo Services Fundation trabaja como proveedor de plataformas para el resto de los equipos de Unity en su misión de construir excelentes servicios para sus clientes. El equipo está enfocado en mejorar la experiencia de los desarrolladores de Unity y trabaja en herramientas como el Unity Dashboard, el Unity Editor y Unity.com.

Imagen parte 12

Parte 13: Utilizando bases de datos relacionales:

En las secciones anteriores del curso, usamos MongoDB para almacenar datos. MongoDB es una base de datos llamada NoSQL. Las bases de datos NoSQL se volvieron muy comunes hace poco más de 10 años, cuando el crecimiento de Internet comenzó a producir problemas para las bases de datos relacionales que utilizaban el lenguaje de consulta SQL antiguo.

Las bases de datos relacionales han experimentado desde entonces un nuevo comienzo. Los problemas de escalabilidad se han resuelto parcialmente y también han adoptado algunas de las características de las bases de datos NoSQL. En esta sección exploramos diferentes aplicaciones de NodeJS que usan bases de datos relacionales, nos enfocaremos en usar la base de datos PostgreSQL que es la número uno en el mundo de código abierto.

Imagen parte 13

Certificados del curso 😁:

Certificado Full Stack (Parte 0 - Parte 7):

Certificado sobre las primeras 7 partes del curso

Certificado GraphQL (Parte 8):

Certificado del curso sobre GraphQL

Certificado TypeScript (Parte 9):

Certificado del curso sobre TypeScript

Certificado React Native (Parte 10):

Certificado del curso sobre React Native

Certificado Contenedores (Parte 12):

Certificado del curso sobre Contenedores

Certificado sobre bases de datos relacionales (Parte 13):

Certificado del curso sobre bases de datos relacionales