Origen, Trabajo Final Ciclo de Grado Superior en Desarrollo de Aplicaciones Web
Nota: M.H.
Objetivos
El proyecto trata, originalmente, de la gestión de proyectos, proporcionando herramientas necesarias, a la hora de hacer un proyecto hay más cosas en el aire de las que realmente tienen que ver con la materia, como organizarte con fechas límites, tener un control de las tareas que tienen más prioridad de que otras, y el proyecto trata de mitigar la dificultad en dichos procesos externos al desarrollo de la tarea.
Va dirigido principalmente a empresas y emprendedores, sin importar el tamaño de la
empresa, una persona puede usar la aplicación en su vida cotidiana, pero el máximo provecho se puede extraer en empresas en las que se tengan que gestionar diversos proyectos, y poder centralizar múltiples herramientas puede mejorar su flujo de trabajo.
Público objetivo
Gestión de proyectos
En la aplicación se podrán crear proyectos que almacenarán una serie de herramientas de gestión, estos proyectos poseen su propia página para gestionar estas herramientas o detalles relacionados con el proyecto. Con herramientas tales como:
- Lista de tareas, digitalización de los tableros con póstits.
- Diario, o tablón de anuncios, pretende informar en general a todos los miembros del proyecto.
- Diagrama de Gantt, una visualización de la cronología del proyecto. [MEJORA]
Para la realización de este proyecto se ha escogido la metodología ágil, puesto que encaja perfectamente con un equipo pequeño y prioriza los resultados y el correcto funcionamiento de pequeñas partes que poco a poco se van juntando.
Se ha organizado haciendo uso del sistema de tableros, Trello.
Metodología
Tecnologías
El proyecto es una aplicación web, así pues, las tecnologías utilizados han sido:
- CSS, más concretamente, MdBootstrap (Material Design Bootstrap)
- JavaScript, con principios de ES6 y jQuery como librería global.
- PHP, haciendo uso del paradigma POPO (Plain Old PHP Object) y un «framework» adaptado al flujo de trabajo.
Como todo proyecto resolutivo, había una planificación detrás, se ha mencionado anteriormente el uso de Trello, también se incluye el de un Diagrama de Gantt. Toda planificación ha de ser flexible, pues pocas veces los tiempos ocurren como deseamos.
Planificación
Estructuración de los datos
Cuando se trata de conseguir un sistema lo más certero y fiable se requiere que un sistema de datos cumpla los puntos fuertes de cualquier sistema de información valorado:
- Versatilidad para representar la información.
- Desempeño y eficiencia.
- Redundancia mínima.
- Evitar la inconsistencia de la información.
- Capacidad de acceso.
- Integridad, de los datos y del sistema.
- Seguridad y Privacidad.
EER (Extended Entity Relation, Entidad Relación Extendido) ➔ Paso a Tablas ➔
Normalización ➔ Diseño Físico ➔ Modelo de Datos.
Para el Control de Versiones, se ha hecho uso de GitHub.
Se ha hecho uso del paradigma Singleton para la reutilización de instancias.
Se ha implementado el paradigma MVC (Modelo Vista Controlador), tanto en servidor, como en cliente. De esta manera, aunque costosa de confeccionar, es más fácil atacar modularmente cada implementación, o fallo.
Arquitectura
Estructura de archivos
Existen dos carpetas principales y dos secundarias.
- src, contiene todo el código de desarrollo y las implementaciones por madurar.
- dist, contiene todo el código «en producción».
Las secundarias contienen la documentación del proyecto, y los testings realizados.
Dentro del proyecto se encuentran las dos carpetas principales:
- client, conteniendo todo el código de front con el que puede llegar a interactuar el usuario, ficheros estáticos, imágenes, etc.
- server, contiene toda la lógica de negocio, la gestión de permisos del servidor, etc.