Code Monkey home page Code Monkey logo

reg003-roman-numerals-slack's Introduction

Números romanos: slash command de Slack

Índice


1. Preámbulo

Ver proyecto roman-numerals.

2. Resumen del proyecto

Este proyecto depende del proyecto roman-numerals, así que se asume que ya completaste o planeas completar dicho proyecto por separado, o que trabajarás con una o más compañeras en paralelo, quienes proveeran la librería roman-numerals para poder integrar esta funcionalidad en un slash command de Slack.

En este proyecto crearás una app de Slack que implemente un slash command (comandos que se pueden agregar a Slack), que permita a las usuarias convertir números enteros en números romanos y viceversa. Para ofrecer esta funcionalidad tendrás que implementar y desplegar un servidor HTTP que se encargue de responder las consultas enviadas desde Slack.

3. Objetivos de aprendizaje

Reflexiona y luego marca los objetivos que has llegado a entender y aplicar en tu proyecto. Piensa en eso al decidir tu estrategia de trabajo.

Node.js

JavaScript

  • Uso de linter (ESLINT)

  • Uso de identificadores descriptivos (Nomenclatura y Semántica)

Control de Versiones (Git y GitHub)

  • Git: Instalación y configuración

  • Git: Control de versiones con git (init, clone, add, commit, status, push, pull, remote)

  • Git: Integración de cambios entre ramas (branch, checkout, fetch, merge, reset, rebase, tag)

  • GitHub: Creación de cuenta y repos, configuración de llaves SSH

  • GitHub: Colaboración en Github (branches | forks | pull requests | code review | tags)

  • GitHub: Organización en Github (projects | issues | labels | milestones | releases)

Express.js

  • Manejo de rutas

  • Uso y creación de middleware

HTTP

WebOps

  • cloud-functions

slack

4. Consideraciones generales

  • El equipo de coaches te dará un tiempo sugerido e indicaciones sobre si trabajar sola o en equipo. Recuerda que cada una aprende a diferente ritmo.
  • El proyecto será entregado subiendo tu código a GitHub (commit/push) y la interfaz será desplegada usando GitHub pages. Si no sabes lo que es GitHub, no te preocupes, lo aprenderás durante este proyecto.

5. Criterios de aceptación mínimos del proyecto

/roman-numerals MMXX
2020
/roman-numerals 2020
MMXX
/roman-numerals help
/roman-numerals version

Servidor HTTP

Dos endpoints:

  • GET /: Debe responder con un objeto JSON con dos propiedades (name y version). Ejemplo:

    {
      "name": "roman-numerals-slack",
      "version": "1.0.0"
    }
  • POST /: Este es el endpoint al que Slack enviará los comandos escritos por las usuarias (en el cuerpo - body - de las consultas - requests) y responderá en formato JSON con un objeto como este:

    {
      "response_type": "in_channel",
      "text": "El texto que aparecerá como respuesta en el chat de Slack"
    }

    Puedes encontrar más detalles en la documentación oficial de Slack.

6. Pistas, tips y lecturas complementarias

Servidor HTTP

En este proyecto tendrás que implementar y desplegar un endpoint que reciba requests (consultas HTTP) de Slack (cada vez que alguien invoca nuestro slash command). Esto significa que nuestro endpoint debe estar desplegado en una URL pública. Para esto pueden usar la plataforma que prefieran. Algunas opciones que pueden explorar:

  • Firebase Cloud functions
  • AWS Lambda
  • Docker + GPC o AWS ECS
  • Heroku
  • Now (Zeit)

Apps en Slack

Para poder trabajar en este proyecto necesitas seguir estos pasos:

  1. Crea un workspace de Slack gratuito e invita a tus compañeras de equipo y otras personas que quieres que tenan acceso a tu entorno de desarrollo.
  2. Crea una App en la plataforma para developers de Slack y asóciala al workspace que hayas creado en el punto 1.
  3. En tu nueva app, crea un slash command para que tus usuarias puedan invocar tu endpoint. Para hacer esto necesitarás ya tener la URL pública del endpoint de tu servidor HTTP, así que asegúrate de desplegar tu servidor HTTP y tener la URL del endpoint a la mano.
  4. Instala la App en tu workspace.
  5. Una vez instalada la app en tu workspace podrás invocar el slash command desde el chat de Slack.

Otros recursos y lecturas complementarias

reg003-roman-numerals-slack's People

Contributors

fakel avatar nangebav 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.