Coder Social home page Coder Social logo

tarea1cna's Introduction

Tarea 1: REST

Haga un fork de este repositorio.

Preparación

En ReplIT cree un nuevo REPL a partir del repositorio creado con el fork (use el botón import from GitHub).

IMPORTANTE: este proceso podría crear un archivo replit.nix, asegurese de eliminar ese archivo.

Ingrese a ElephantSQL: https://www.elephantsql.com (ingrese usando GitHub).

Cree una instancia de base de datos.

Ejecute las queries que están en el archivo database.sql.

Obtenga el string de conexión desde ElephantSQL (tal como mostró el profesor).

Ahora cree los siguientes SECRETS en Replit:

  • PORT: 3000
  • CONNECTION_URL: coloque aca la url de conexión obgenida de ElephantSQL
  • JWT_SECRET: coloque un valor aleatorio

Ejecute ReplIT presionando el botón RUN.

Use YARC para crear un usuario. (También puede usar curl o PostMan).

Desafío

Este programa usa el méotodo OPTIONS para todos los endpoints. Debe reemplazarlos por los métodos que corresponden.

Ejemplo, a partir de la linea 85 tenemos este código en el archivo index.js:

 // verificar usuario
app.options("/login", async (req, res) => {
  // #swagger.description = 'Endpoint para obtener un token de sesión para el usuario'

Debe quedar así:

 // verificar usuario
app.post("/login", async (req, res) => {
  // #swagger.description = 'Endpoint para obtener un token de sesión para el usuario'

En la linea 116 tenemos este código:

// List all users
app.options("/users", async (req, res) => {
  // #swagger.description = 'Endpoint para listar todos los usuarios registrados en el sistema'

Debe quedar así:

// List all users
app.get("/users", async (req, res) => {
  // #swagger.description = 'Endpoint para listar todos los usuarios registrados en el sistema'

Haga estas modificaciones y las que corresponden en las lineas: 170, 186, 201, 217 y 235 del archivo index.js.

Debe usar los métodos post, get, put, delete según corresponda.

Cuando haya realizado las modificaciones pruébelas con YARC, conteste las preguntas de abajo y mande un Pull Request con sus modificaciones y las respuestas a las preguntas.

Preguntas

  1. ¿En cuantos micro servicios podría descomponer (o agrupar) los endpoints contenidos en el archivo index.js?
  2. ¿Qué problema tienen los endpoints de gestión de usuarios con respecto a la forma estándar de organizar las APIs REST?

Opcional

Cree otro ReplIT a partir de este repositorio: https://github.com/lnds/DemoTodoAppReactClient.

Modifique el archivo src/components/const.js cambiando el valor de la variable serverApiUrl por la url del ReplIT donde está corriendo el servidor.

const serverApiUrl = 'http://localhost:3001/' // <- modifique esta linea

Use esta aplicación para probar sus endpoints.

tarea1cna's People

Contributors

lnds 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.