Proyecto que pertenece a la asignatura Infraestructura Virtual (IV).
Esta API web se basará en la consulta de eventos. He elegido este problema, porque tengo muchas complicaciones a la hora de organizar fechas. Así que he pensado que la mejor solución sería un bot personal de telegram, dónde puedas crear eventos y consultar los mismos de una manera eficiente.
Para poder instalar la aplicación emplearemos los siguientes comandos. Es necesario tener node instalado para poder ejecutar los comandos npm
:
npm install
Para instalar las dependencias del proyecto.
npm test
Para testear el proyecto.
Aquí se desarrollará toda la información correspondiente a la planificación del proyecto y las distintas entregas. Se explicarán las pautas seguidas, la creación y la configuración de diferentes ficheros.
Aun así, a continuación puede disponer de toda la información esencial del proyecto:
Lenguaje de programación
-
He utilizadoJavascript
, ya que es un lenguaje ampliamente popular y que para mí es totalmente nuevo. Aunque por lo que he podido leer es un lenguaje bastante sencillo, rápido y muy versátil. Otra de sus famosas ventajas es que es multiplataforma y además es muy útil para desarrollar páginas dinámicas y aplicaciones web.
Todo lo relacionado con esta explicación se encuentra en este enlace.
Gestor de paquetes
-
He elegidoNpm
, el cual es el gestor por defecto paraNode.js
y además un entorno de ejecución paraJavascript
. También lo he utilizado como herramienta de construcción, además este gestor funciona a través de un ficheroJSON
, ya que se realiza un seguimiento de módulos instalados. En este fichero se contendrá información del proyecto, tal como el nombre, descripción, autor, etc.
De momento es una herramienta de construcción muy simple, dispone de funciones que por ahora abarcan todas nuestras necesidades, tales como instalar las distintas dependencias, módulos, paquetes y la ejecución de scipts, que por ahora solamente es testing. Además su metodología de programación es bastante sencilla, funciona como ya dije junto con un ficheroJSON
, el cual contiene:
- Todos los módulos necesarios para un proyecto y sus versiones instaladas.
- Todos los metadatos de un proyecto, como el autor y la licencia, entre otros.
- Secuencias de comandos que se pueden ejecutar para automatizar tareas del proyecto.
JSON
correspondientes:package.json
ypackage-lock.json
.
Todo lo relacionado con esta explicación se encuentra en este enlace.
Testing
-
Si no está 'testeado', está roto. Para llevar a cabo los test, he escogidoJest
, el cual es un marco de prueba de JavaScript bastante sencillo de entender.Taskfile
apuntará autil.test.js
, el cual será ejecutado mediantepackage.json
.JSON
interviene en esta sección mediante la gestión de la instalación de dependencias con el comandonpm install --save-dev jest
. Se tendrá que modificar la parte de *scripts* para poder ejecutarnpm test
.
No podemos considerar a los test como una herramienta, ya que se interpreta a los test como parte integral del proceso de desarrollo y el código. Aun así,Jest
es un framework de testing generalista que podemos utilizar en cualquier situación, en el cual podemos crear, ejecutar y estructurar pruebas. El lado positivo de estas pruebas es que puedes tener control sobre el funcionamiento de lo que estás creando, puedes incluso realizar diferentes tipos de pruebas a un mismo bloque de código y de esta manera puedes saber que tan susceptible es esa parte de código.
La principal ventaja es que supone un buen flujo de trabajo conNpm
yNode
. Además posee una gran documentación y comunidad, lo cual hace más fácil y ágil su aprendizaje. Tampoco hace falta una biblioteca de aserciones, ya que está incluida.
Todo lo relacionado con esta explicación se encuentra en este enlace.
Enlaces a códigos y clases
-
- Se ha añadido el fichero
YAML
Ain't Markup Language, con la ruta de la estructura del proyecto y las distintas claves cómo lenguaje, test y taskfile. - Se ha creado la carpeta src con distintas clases:
- La primera clase
events.js
del proyecto, encargada de crear los eventos. - La segunda clase
planner.js
para poder organizar y gestionar la clase evento. - El fichero de test, el cual se encuentra en la carpeta test, bajo el nombre
util.test.js
. - Los archivos
JSON
correspondientes:package.json
ypackage-lock.json
.
- Se ha añadido el fichero
Enlaces a issues, milestones e historias de usuario
-
- En este enlace se encuentran los issues cerrados.
- En este enlace se encuentran los milestones cerrados.
- Se han añadido las Historias de Usuario con su label correspondiente. Aquí se puede consultar las diferentes HU:
- Herramientas: Herramientas que se hayan implementado en el proyecto, dónde se explicará su debido uso y funcionamiento.
- IV: Repositorio de la asignatura Infraestructura Virtual.
Nikita Stetskiy github