/tp-dds

Server-side Java web app using the MVC pattern

Primary LanguageJava

Trabajo Practico Anual - Diseño de Sistemas 2022

Enunciado

Trabajo práctico de la materia Diseño de Sistemas, que consistia en hacer un aplicativo web siendo el mismo un cliente liviano MVC en Java con una base de datos MySql, desplegado en la nube, en nuestro caso con Docker. Consumimos una API en nuestro proyecto la cual nos sirvió para obtener la distancia entre dos direcciones, y para obtener todos los municipios y localidades de una provincia dada.

A grandes rasgos, la app permite a organizaciones y empleados registrarse con un usuario y cargar los gastos energéticos que van haciendo, ya sea por viajes de los empleados hacia sus lugares de trabajo como gastos de fabricación o de consumo en la misma empresa. Luego de ahí se calcula su huella de carbono en un periodo determinado o la total, en base a parametros de configuracion establecidos por un administrador.

Entre otras funcionalidades, tambien se puede:

  • Generar reportes (por ejemplo el gasto total de una organizacion o municipio)
  • Mandar por mail o Whatsapp recomendaciones de consumo a contactos
  • Crear usuarios validando que su contraseña sea segura
  • Carga de actividades de una organizacion mediante un Excel
  • Pantalla de administrador para editar los parámetros de consumo (factores de emisión)

English version

Assignment for the subject "System Design" which consisted in making a web application using the MVC pattern, being server-side made in Java with an MySQL database deployed in the cloud (in our case with Docker). We used an external API to get the distance between two addresses, and to get all the municipalities from a given province or district.

The app allows organizations and employees to register and upload their energetic consumptions, either from trips to work or manufacturing processes. Then, the carbon footprint is calculated in a given period or the whole historic value, based on configurations made by an administrator user.

Other features include:

  • Generating reports (for example, the consumption of a municipality)
  • Send via email or Whatsapp consumption recommendations
  • Secure password validation
  • Create activities from an organization via an Excel file
  • Admin panel to edit configuration parameters