Git Product home page Git Product logo

arquisoft / lomap_es3a Goto Github PK

View Code? Open in Web Editor NEW
6.0 3.0 4.0 65.8 MB

LoMap Software architecture group es3a course 2022_23 - GOMap!® application, which provides maps where the user can add markers and obtain more information about a specific location. Read our documentation at: https://arquisoft.github.io/lomap_es3a/

Home Page: https://lomapes3a.azurewebsites.net

License: MIT License

Dockerfile 0.14% TypeScript 80.37% Gherkin 0.33% Scala 1.02% HTML 2.44% CSS 10.92% JavaScript 4.79%
asw map markers gomap uniovi lomap nodejs pod react solid

lomap_es3a's Introduction

CI for LOMAP ES3A Quality Gate Status Coverage

Promotional video · Demo video · Docs · Web Access · Discussions · Wiki · Report a bug · Request a new feature · Projects · Usability Tests

Table of Contents
  1. Project developers.
  2. Project description.
    1. Tech stack.
  3. Deployment instructions.
    1. Native deployment (Node).

🖥️ Project developers:

Developers UOs GitHub Profiles
Carlos Diez Fernández [email protected] Carlos
Raúl Fernández España [email protected] Raúl
Omar Teixeira González [email protected] Omar
David Leszek Warzynski Abril [email protected] David

🗺️ Project description:

This project has been developed jointly by the previously mentioned developers as an assignment given by the professors Jose Emilio Labra Gayo, Pablo González, Irene Cid Rico, and Cristian Augusto Alonso for the subject of Software Architecture (ASW) at the University of Oviedo.

In GOMap!®, users can log in and interact with the world around them. In this way, any user can view markers created by other users, or create their own, on the places located in the searched location. These places can range from shops to bars, restaurants, landscapes, monuments, and more.

These markers can have different features added to them, such as images or a description of the location, but it doesn't end there. The real interaction comes when users can add reviews or opinions about a marker created by another user.

🛠 Tech stack:

The complete list of technologies used, along with their architectural decisions (ADR), can be found in the following link.

📑 Deployment instructions:

To execute the project, it will be necessary to first clone it, so you will need to have Git installed (access through the following link), and then clone this repository into a local directory, either by downloading the repository in .zip format or by using the following command:

  1. Go to the local directory where you want to clone the repository.
  2. Open the console or command prompt.
  3. Enter the following code:
   git clone https://github.com/Arquisoft/lomap_es3a.git

Once this is done, the application can be launched in the following way.

Native deployment (Node)

Requirements using node

Firstly, you need to install Node. In case it is already installed, you should make sure that you have the latest version of it.

# Launch the webapp
cd webapp
npm install
npm start

To access the web app (once the previous process has been completed), simply go to the following link.

©Arquisoft - UNIOVI

lomap_es3a's People

Contributors

cidinene avatar dependabot[bot] avatar nihilhatw avatar omitg24 avatar uo278036 avatar uo284373 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

lomap_es3a's Issues

Crear rama propia a partir de develop para pruebas propias

Tarea

Se debe crear una rama a parte de Develop para poder hacer pruebas y comenzar un desarrollo estable sin interferir con los compañeros.

  • Creación de rama personal siguiendo el formato establecido por el equipo en el acta 1.
  • Asegurarse de la creación de la Rama en GitHub.

Justificar las pruebas de rendimiento

Tarea

Se deben realizar pruebas de rendimiento, y, posteriormente, justificarlo en la documentación.

  • Realizar pruebas de rendimiento.
  • Justificarlo en la documentación.

Búsqueda de información: React

Tarea

Se debe buscar información sobre como emplear React en el desarrollo de la aplicación.

  • Leer la documentación, a través del siguiente enlace.
  • Ver el tutorial, a través del siguiente enlace.
  • Búsqueda extra.

Crear rama propia a partir de develop para realizar pruebas

Tarea

Se debe crear una rama a parte de Develop para poder hacer pruebas y comenzar un desarrollo estable sin interferir con los compañeros.

  • Creación de rama personal siguiendo el formato establecido por el equipo desde el acta 1.
  • Asegurarse de la creación de la Rama en github.

Búsqueda de Información: SOLID

Tarea

Se debe buscar información sobre como emplear SOLID en el desarrollo de la aplicación.

  • Leer la documentación, a través del siguiente enlace.
  • Ver el tutorial, a través del siguiente enlace.
  • Búsqueda extra.

[E1] - AutoInforme de Omar Teixeira (UO281847)

AutoInforme - Primer Entregable

👨‍🎓 Datos del desarrollador:

  • Nombre: Omar.
  • Apellidos: Teixeira González.
  • UO: UO281847.
  • Correo electrónico: [email protected].

📓 Trabajo realizado:

Descripción general:

A lo largo de estas semanas he realizado diversas funciones, principalmente enfocadas a la organización y presentación del repositorio.

En primer lugar, he redactado y organizado la Wiki, desde el panel principal, mostrando datos como los desarrolladores del proyecto, la descripción, las diferentes actas (presenciales o telemáticas), las decisiones arquitectónicas (aunque siguen en desarrollo) y los enlaces importantes sobre el proyecto.

También me he encargado de las milestone, de momento creadas para la documentación, el primer prototipo y la wiki, y de la creación de los kanban para la organización del proyecto, dandole un estilo diferente al que venía por defecto, agregando descripciones sobre los diferentes estados, concretamente se han creado 2 kanban en el momento de redacción del informe, enfocados a la documentación y a la organización general. Puede accederse a través de los siguientes enlaces:

Otra de las partes de las que me he encargado ha sido de la creación de la GitHub Discussions, creadas para dejar un registro sobre las conversaciones e ideas que los diversos integrantes del equipo tengan, concretamente se han creado los siguientes:

También he ayudado a los compañeros del equipo con dudas sobre como realizar las Pull requests y creado varios diseños para la app en Photoshop, como los que se muestran en la discusión dedicada a los diseños, concretamente se ha creado el símbolo, el logo y el wallpaper, además se ha mejorado la presentación del repositorio, reorganizando el README y añadiendo descripción y etiquetas.

Por último, con respecto a lo que trata la entrega en si, la documentación, he participado en la redacción de los documentos 1, 2 y 5 y me he encargado de redactar yo solo los documentos 8 y 12.

Número de issues realizadas:

Se han realizado 14 issues en el momento de redacción del informe.

🔗 Enlaces a issues:

  1. #4.
  2. #6.
  3. #9.
  4. #10.
  5. #13.
  6. #16.
  7. #20.
  8. #21.
  9. #25.
  10. #29.
  11. #33.
  12. #38.
  13. #50.
  14. #56.

✅ Aprobación de los miembros restantes del equipo:

Subir toda la documentación y crear la primera versión de ésta

Tarea

Se debe subir las diferentes partes de la documentación, vistas en otras issues, concretamente:

  1. Introducción y Metas.
  2. Restricciones de la Arquitectura.
  3. Alcance y Contexto del Sistema.
  4. Estrategia de la solución.
  5. Vista de bloques.
  6. Vista de Ejecución.
  7. Vista de Despliegue.
  8. Conceptos Transversales (Cross-cutting).
  9. Decisiones de Diseño.
  10. Requerimientos de Calidad.
  11. Riesgos y deuda técnica.
  12. Glosario.

Y posteriormente generar mediante la herramientas dadas (Node & Ruby), la respectiva documentación en el siguiente enlace.

  • Realizar todos los documentos.
  • Subir todos los documentos.
  • Generar la documentación.
  • Revisar que se ha generado correctamente.

Mejorar el README

Tarea

Se debe añadir más información al README

  • Añadir información

Búsqueda de información: TypeScript

Tarea

Se debe buscar información sobre como emplear TypeScript en el desarrollo de la aplicación.

  • Leer la documentación, a través del siguiente enlace.
  • Ver el tutorial, a través del siguiente enlace.
  • Búsqueda extra.

[E1] - AutoInforme de Raúl Fernández España (UO278036)

AutoInforme - Primer Entregable

👨‍🎓 Datos del desarrollador:

  • Nombre: Raúl.
  • Apellidos: Fernández España.
  • UO: UO278036.
  • Correo electrónico: [email protected].

📓 Trabajo realizado:

Descripción general:

A lo largo de estas primeras semanas he ido realizando diversas tareas dependiendo de las necesidades del proyecto. Principalmente enfocándome en la documentación del proyecto y por tanto también investigando sobre las diferentes tecnologías que podríamos utilizar durante el proyecto.

Además participando en las reuniones que se han ido dando a lo largo de este primera etapa en las cuales hemos distribuido trabajo a realizar, hemos resuelto dudas entre los diferentes integrantes del proyecto y hemos tomado decisiones sobre el futuro de el proyecto. No he realizado ningún acta aún debido a que tenemos un ciclo rotativo de redactado.

Con respecto a la documentación, he participado en la redacción de los documentos 1, 2, y he redactado por mi cuenta los documentos 9, 10 y 11 de la documentación. Los cuales son las decisiones de diseño, los escenarios de calidad y los riesgos técnicos. En el árbol de calidad he creado un diagrama el cual recoge lo necesario para crear un software de calidad, lo he creado siguiendo el ISO 25010.

Otra de las partes que en las que he participado ha sido a la hora de obtener y recopilar información sobre la tecnología TypeScript para su uso en este proyecto. Tras investigar la tecnología y exponer a el resto de integrantes sus ventajas e inconvenientes hemos decidido utilizarla ya que TypeScript mejora la calidad y eficiencia del desarrollo de software al agregar tipado estático, mejorar la legibilidad del código y aumentar la productividad del equipo de desarrollo.

Otra de las partes en las que he participado ha sido ayudando a los miembros del equipo, respondiendo las distintas dudas que han planteado en las siguientes Discussions:

Número de issues realizadas:

Se han realizado 5 issues en el momento de redacción del informe.

🔗 Enlaces a issues:

  1. #4.
  2. #19.
  3. #18.
  4. #17.
  5. #43.

✅ Aprobación de los miembros restantes del equipo:

Mejorar el diagrama de la sección 7

Tarea

Se debe mejorar el diagrama de la sección, siguiendo la estandarización o añadiendo una leyenda, además de borrar las partes inferiores del diagrama.

  • Corregir el diagrama.
  • Borrar partes inferiores.
  • Generar la documentación.

Mejorar el panel principal de la Wiki

Tarea

Se debe mejorar el panel principal (Home) de la Wiki. añadiendo descripciones sobre las decisiones arquitectónicas

  • Añadir descripciones sobre las decisiones arquitectónicas.
  • Añadir enlaces al nuevo proyecto y corregir antiguos.

[E1] - Autoinforme de Carlos Diez Fernández (UO284373)

AutoInforme - Primer Entregable

👨‍🎓 Datos del desarrollador:

  • Nombre: Carlos.
  • Apellidos: Diez Fernández.
  • UO: UO284373.
  • Correo electrónico: [email protected].

📓 Trabajo realizado:

Descripción general:

A lo largo de estas semanas he realizado diversas funciones, principalmente enfocadas en realizar la documentación y ayudar a los miembros del equipo, respondiendo las respectivas dudas planteadas.

Además, he participado en todas las reuniones tanto presenciales como telemáticas, en las que se ha distribuido el trabajo a realizar y hemos resuelto las dudas que se han planteado. A su vez, he redactado varias actas de las reuniones mencionadas.

Con respecto a lo que trata la entrega en si, la documentación, he participado en la redacción de los documentos 1, 2, 3 y 4 y me he encargado de redactar yo solo el documento 7.

Otra de las partes que en las que he participado ha sido a la hora de obtener y recopilar información sobre la tecnología SOLID, que se va a seguir en el proyecto, siguiendo los principios que esta tecnología define.

Otra de las partes en las que he participado ha sido ayudando a los miembros del equipo, respondiendo las distintas dudas que han planteado en las siguientes Discussions:

Número de issues realizadas:

Se han realizado 6 issues en el momento de redacción del informe.

🔗 Enlaces a issues:

  1. #4.
  2. #10.
  3. #11.
  4. #12.
  5. #13.
  6. #15.

✅ Aprobación de los miembros restantes del equipo:

Redactar el README personalizado del proyecto GOMap!

Tarea

Se irá redactando el README del proyecto de manera progresiva, añadiendo descripciones, detalles o imágenes, de manera que el repositorio tenga un mejor aspecto visual.

  • Actualizar imagen del logo
  • Añadir una mayor descripción
  • Añadir perfiles de GitHub
  • Añadir etiquetas de análisis del repositorio
  • Añadir enlaces a diversos recursos
  • Añadir las decisiones de arquitectura tomadas
  • Añadir instrucciones de despliegue.
  • Añadir enlace a las pruebas de usabilidad.
  • Corregir instrucciones de despliegue.

Añadir profesor restante

Tarea

Se debe añadir al profesor restante en los stakeholders

  • Añadir al profesor restante.
  • Generar la documentación.

[E1] - AutoInforme de David Warzynski (UO278968)

AutoInforme - Primer Entregable

👨‍🎓 Datos del desarrollador:

  • Nombre: David.
  • Apellidos: Warzynski Abril.
  • UO: UO278968.
  • Correo electrónico: [email protected].

📓 Trabajo realizado:

Descripción general:

Durante el desarrollo de estas primeras semanas mi función ha sido dirigida al desarrollo de la documentación. Para ello he creado una carpeta compartida usando OneDrive con las plantillas de las diferentes secciones de la misma para favorecer la realización simultanea de los documentos junto al resto de integrantes.

He participado en las distintas reuniones realizadas tanto en clase de practicas de forma presencial, como reuniones telemáticas donde se discutía que trabajo había que realizar y como repartirlo. Por otra parte, también me he encargado de redactar el Acta 2 de la sesión presencial.

Con respecto a la documentación, he participado en la redacción de los documentos 1, 2, 3, 4, 5 además el documento 6 con los diagramas de secuencia usando plantUML para su realización, habiendo realizado la labor de investigación de dicha herramienta con anterioridad.

Otra de las partes que en las que he participado ha sido a la hora de obtener y recopilar información sobre la tecnología de base de datos que vamos a usar para el desarrollo del proyecto (MongoDB) con el fin de agilizar el mismo.

Otra de las partes en las que he participado ha sido ayudando a los miembros del equipo, respondiendo las distintas dudas que han planteado en las siguientes Discussions:

Número de issues realizadas:

Se han realizado 6 issues en el momento de redacción del informe.

🔗 Enlaces a issues:

  1. #4.
  2. #10.
  3. #11.
  4. #12.
  5. #13.
  6. #14.

✅ Aprobación de los miembros restantes del equipo:

Diseño del logo de GOMap!®

Tarea

Se debe diseñar el logo de GOMap! que aparecerá en la aplicación y otros medios (como el README).

  • Diseñar el logo.

Desarrollar los requisitos

Desarrollar la parte referida a los requisitos dentro del documento: 01_introduction_and_goals.adoc

  • Desarrollar los requisitos.

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.