GithubHelp home page GithubHelp logo

venrra / micro-calendario Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nikitastetskiy/micro-calendario

0.0 0.0 0.0 371 KB

Descripción - mi proyecto va de un calendario

License: GNU General Public License v3.0

JavaScript 100.00%

micro-calendario's Introduction

Micro Calendario

Proyecto que pertenece a la asignatura Infraestructura Virtual (IV).

Descripción

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.

Documentación

Plan del 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 utilizado Javascript, 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 elegido Npm, el cual es el gestor por defecto para Node.js y además un entorno de ejecución para Javascript. También lo he utilizado como herramienta de construcción, además este gestor funciona a través de un fichero JSON, 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 fichero JSON, 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.
Los archivos JSON correspondientes: package.json y package-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 escogido Jest, el cual es un marco de prueba de JavaScript bastante sencillo de entender. Taskfile apuntará a util.test.js, el cual será ejecutado mediante package.json. JSON interviene en esta sección mediante la gestión de la instalación de dependencias con el comando npm install --save-dev jest. Se tendrá que modificar la parte de *scripts* para poder ejecutar npm 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 con Npm y Node. 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 y package-lock.json.
Todo lo relacionado con las pautas de creación y configuración se encuentra en este enlace.
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:
    • HU1: Consulta de eventos.
    • HU2: Consulta específica de eventos.
    • HU3: Creación de eventos.
Todo lo relacionado con las pautas de creación y configuración se encuentra en este enlace.

Enlaces de interés

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

Autor

Nikita Stetskiy github

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.