Skip to content

Latest commit

 

History

History
80 lines (58 loc) · 2.34 KB

2020.md

File metadata and controls

80 lines (58 loc) · 2.34 KB

Problema Cotalker 2019 / 2020

v.1.0

Introducción

Se requiere un programa que pueda convertir frases simples en acciones.

Ejemplos:

  1. Agendar reunión el 26 noviembre con Edward y Nicolás
  2. Agendar reunión hoy
  3. Agendar reunion en dos días
  4. agendar próximo lunes
  5. agendar hoy yo, nicolas y guillermo

Cada uno de estos ejemplos crean una evento en Google Calendar, para el día y con las personas nombradas.

Acciones

Esta versión sólo requiere procesar una acción: "Agendar reunión" Se debe al menos aceptar la siguentes entradas de texto cómo acciones válidas:

  1. agendar
  2. Agendar
  3. agenda
  4. Agendar reunión
  5. AGENDAR REUNION

La acción "Agendar reunión" debe crear generar un evento en Google Calendar con personas en la lista.

Google Calendar

Código para autorizar usario a usar google calendar:
https://developers.google.com/calendar/quickstart/js

Código para crear un evento:
https://developers.google.com/calendar/create-events

Listado de permisos para calendar:
https://developers.google.com/calendar/auth

Fechas

Se deben reconocer algunos formatos de fechas, entre ellas:

  1. Hoy
  2. Mañana
  3. Próximo (lunes|martes|miércoles|jueves|...)
  4. (1|2|3|...|29|30|01|02|...) (Enero|Febrero|...|Diciembre|Ene|Feb|)
  5. 01/10/2019 --> DD/MM/YYYY
  6. 2019/10/01 --> YYYY/MM/DD

Personas

El programa debe contar con una fuente interna de nombres y correos e.g.,

[
  { name: "Edward", email: "[email protected]" },
  { name: "Nicolás", email: "[email protected]" },
]

Se deberá hacer una aproximación a los nombres encontrados. E.g., Nicolás o nicolas debe ser válido.

Requerimientos

  • Debe ser aplicación web.
  • La aplicación debe tener al menos:
    • Un input de texto para introducir la acción
    • Un botón para enviar la acción
    • En caso de error un texto explicando brevemente el problema
    • En caso de éxito mostrar la URL (la api la retorna al ser creada exitosamente)
  • Es posible (y necesario) agregar restricciones adicionales para limitar el programa.
  • Todo lo que no esté descrito en este documento es de libre elección.

Notas finales

  • Se pueden usar tantas liberias como estimen necesarios.
  • Si el problema se exiende mucho, limiten, cambien o remuevan requerimientos.
  • Si tienen cualquier duda, necesitas ayuda o quiere feedback: contáctanos :)
  • Éxito!