Skip to content

jonalvarezz/platzi-lab-nodejs-auth

Repository files navigation

Laboratorio de Node.js Auth Curso de Next.js con GraphQL

Laboratorio Profesional de Node.js: Autenticación

Este repositorio contiene el proyecto con el reto para el Laboratorio Profesional de Node.js: Autenticación, dictado por @jonalvarezz para Platzi.

👉 El Reto.

Es nuestra primer semana en la empresa "ACME" y nos han pedido finalizar este proyecto que ha quedado abandonado e incompleto.

Desafortunadente, nadie en la empresa sabe del proyecto y es nuestra responsabilidad adueñarnos de éste y sacarlo adelante. ¿Podrás hacerlo?

De nuestro "Project Manager", que también es nuevo en la empresa, sabemos lo siguiente:

  1. El propósito de la aplicación es permitir crear, actualizar, y eliminar Perfiles de usuario. Los usuarios deberán registrarse primero e iniciar sesión para ser autenticados.
  2. Al momento, solo existe el Backend para registrarse (sign up) e iniciar sesión (login).
  3. Escuché, dice nuestro Project Manager, que aún con lo poco que tiene la aplicación, es muy insegura. Fue echa de afán. Tiene un gravísimo error de seguridad. Sólo se sabe que es relacionado a cómo se guarda cierta información en la base de datos.
  4. Nuestra primera prioridad es encontrar por qué es insegura y arreglarlo.
  5. Luego, completar el Backend para que las funcionalidades de crear, modificar y eliminar un Perfil trabajen correctamente.
  6. Aunque ten cuidado, solo usuarios autenticados pueden acceder a su perfil. Así que deberás idear antes alguna forma para saber si el usuario inició sesión e identificar quién es.

Retos opcionales

Mientras ibamos por algo de café, nos topamos con nuestro nuestro Project Manager que nos dice:

  1. Estaría genial si podemos agregar los tests necesarios para asegurar la funcionalidad y proteger ante futuros bugs de todo lo que haremos.
  2. Ahora, no recuerdo si también trabajas en el Frontend, si es así, ¿te animas a crear la UI con la que los visitantes puedan interactuar para utilizar la aplicación? Tienes plena libertad creativa para hacerlo. Confío en ti.
  3. Finalmente, ¿cómo presentaremos este proyecto a las directivas? ¿Podrías subirlo a internet para que podamos probarlo desde alguna URL? Servicios gratuitos como Render, o Fly.io, combinado con MongoDB Atlas nos podrían servir.

Lo que sabemos de la aplicación

  • El proyecto fue creado en una estructura de Monorepo utilizando NPM.
  • El Frontend se encuentra en la carpeta frontend. Aunque está totalmente vacia.
  • El Backend se encuentra en la carpeta api.
  • El Backend es una aplicación típica de Node.js usando el framework de Express. Además de otras utilidades.
  • Hay una conexión a una base de datos MongoDB.
  • En el archivo README del Backend hay detalles sobre como instalar y correr el proyecto localmente.

🐞 Encontraste un error o mejora?

Ayuda a otros estudiantes con eso que acabas de descubrir que haría este curso y respositorio mucho mejor.

  • En Issues puedes reportar errores, agregar sugerencias y comentarios.
  • Por su parte, los Pull Request siempre estarán abiertos para recibir mejoras puntuales.

Happy hacking!

About

Laboratorio de Platzi: Node.js Autenticación

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published