-
Notifications
You must be signed in to change notification settings - Fork 0
Calendary service
Juan Francisco Ramírez Escobar edited this page Mar 21, 2024
·
2 revisions
The calendar service is a service that aims to present in a calendar all the events and moments of interest for the entire ACM Xaverian Chapter community.
Nombre del Atributo ❕ | Tipo de Dato 👀 | Descripción 📝 |
---|---|---|
id | UUID | Identificador único de cada evento al interior del servicio. (Visible unicamente para el equipo de desarrolladores) |
summary | string | Título en la visualización del evento. Debe ser llamativo y describir brevemente la razón del mismo. i.e. “Taller Preparación EDD - Parcial 1” |
description | string (Opcional) | Descripción del evento en un párrafo. Orientar el atríbuto hacía una breve invitación al evento. ”De parte de ACM Javeriana te invitamos a participar de…” |
start | time : Date | Asignar la fecha de inicio del evento. |
end | time : Date | Asignar la fecha de fin del evento. |
location | string (Opcional) | En caso tal de que el evento se lleve a cabo de manera presencial y el aforo no sea un limitante, se busca que el usuario o persona interesada pueda encontrar la información del sitio en la página web y asistir al evento 😀 |
link_form | string (Hipervínculo) | La idea es que para el momento en que la página web se encuentre en funcionamiento, cada evento cuente con un formulario de inscripción si así se requiere y el aforo es limitado. De esta manera, se busca que el proceso para inscripción a actividades del grupo se realicé de un único modo (Formularios); eliminando de esta forma un sinnúmero de correos en la bandeja y trayendo cómo valor agregado que el enlace se encuentre a la mano en la página. Esto, adicional a los métodos usuales de difusión (Carrera, medio, redes sociales). |
joining_link | string (Opcional e hipervínculo a MS Teams) | En caso tal de que el evento se lleve a cabo de manera virtual (Normalmente no existe limite de aforo), se extiende la posibilidad de que el enlace a la reunión se encuentre en la página web. |
assigned_people | [ ] string * | A discusión por parte del grupo 🫡 Cómo cada actividad de ACM tiene unos miembros asignados cómo responsables en el desarrollo de la misma. Se plantea que sean visibles las direcciones de correo electrónico de las personas encargadas; de este modo, en caso de que los participantes tengan alguna duda de acuerdo con el contenido y/o quieran indagar sobre el tema, puedan dirigirse directamente a los expertos en el tema Esto entra en conflicto, no estoy seguro si plantearlo cómo un campo de los eventos en la página. Actualmente se utiliza el correo electrónico para atender dudas del material. Sin embargo, algunos estudiantes escriben al DM de Teams. |
-
Obtener Calendario
- URL del endpoint: http://direccion:1234/calendar
-
Required data:
- body: En este caso, no hay. Se busca obtener todos los eventos que componen el calendario
- headers:
- Authentication: Token de autenticación - Basado en la implementación del microservicio de autenticación (No se incluye aún)
-
Obtener Evento por ID
- URL del endpoint: http://direccion:1234/event/{id}
-
Required data:
- body: En este caso, se le pasa cómo parámetro a la request el id del evento que se desea consultar. Cuerpo cómo tal, no hay.
- headers:
- Authentication: Token de autenticación - Basado en la implementación del microservicio de autenticación (No se incluye aún)
-
Obtener Evento por Fecha
- URL del endpoint: http://direccion:1234/event/{date}
-
Required data:
- body: En este caso, se le pasa cómo parámetro a la request la fecha sobre la que se desea consultar los eventos que se llevarán a cabo, se manejará de tipo Date (dd/mm/yyy), no Datetime (Es decir, incluyendo horas).
- headers:
- Authentication: Token de autenticación - Basado en la implementación del microservicio de autenticación (No se incluye aún)
-
Crear Evento
- URL del endpoint: http://direccion:1234/event
- Content-Type: application/json
-
Required data:
- body: En este caso, se realizará la creación de un nuevo evento, por consiguiente, es necesario incluir cómo parámetro el archivo JSON en dónde se especifican los valores de cada uno de los atributos obligatorios que tiene cada evento.
- headers:
- Authentication: Token de autenticación - Basado en la implementación del microservicio de autenticación
{
"body": {
"id": "UUID",
"summary": "Título del evento",
"description": "Descripción del evento",
"start": "Fecha de inicio (timezone)",
"end": "Fecha de fin (timezone)",
"location": "Ubicación del evento",
"link_form": "Enlace al formulario de inscripción",
"joining_link": "Enlace de unión a la reunión virtual (si aplica)",
"assigned_people": ["Correo electrónico de las personas asignadas"]
},
"headers": {
"authToken" = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJtZXNzY.-yI"
}
}
Nota: El ID del evento, de tipo UUID, es posible que no sea incluido en el cuerpo de la petición, esto será contemplado en la implementación del microservicio de acuerdo con la naturaleza del lenguaje y el framework seleccionado.
-
Actualizar Evento
- URL del endpoint: http://direccion:1234/event/{id}
- Content-Type: application/json
-
Required data:
- body: En este caso, se le pasa cómo parámetro a la request el id del evento que se desea actualizar, en el cuerpo se incluyen únicamente los atributos del evento que se desean modificar.
- headers:
- Authentication: Token de autenticación - Basado en la implementación del microservicio de autenticación (No se incluye aún) microservicio de autenticación.
{ "body": { "summary": "Taller de Repaso Programación Avanzada", "description": "Preparación para el segundo parcial de la asignatura", "assigned_people": ["[email protected]", "[email protected]", "[email protected]"] }, "headers": { "authToken" = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJtZXNzY.-yI" } }
Nota: Con este tipo de petición, en conjunto con las funcionalidades brindadas por parte del framework, se actualizará únicamente los atributos que sean incluidos en el body de la petición.
- Eliminar evento por ID
- URL del endpoint: http://direccion:1234/calendar
-
Required data:
- body: En este caso, no hay. Sin embargo, se le pasa a la petición cómo parámetro el id del evento que se desea eliminar.
- headers:
- Authentication: Token de autenticación - Basado en la implementación del microservicio de autenticación (No se incluye aún)
- Nota: En este endpoint, es fundamental contar en la cabecera con algún mecanismo que verifique la autenticidad de un actor permitido para realizar la acción (Puede ser el token, pero no se ha concretado aún el manejo)
-
Required data:
Este es un proyecto hecho por el Capitulo Javeriano ACM.