Giter Site home page Giter Site logo

platzi-lab-nodejs-auth's Introduction

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!

platzi-lab-nodejs-auth's People

Contributors

snakydh avatar jonalvarezz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.