Skip to content
Nehuen edited this page Sep 17, 2021 · 1 revision

Sistema de gestión de centros de ayuda y turnos

Introducción

El sistema de gestión de centros de ayuda y turnos fue realizado en el contexto de la materia “Proyecto de software” en la UNLP (Universidad Nacional de La Plata) de la carrera de Analista Programador Universitario en el año 2020-2021. Las entregas, se realizaron en conjunto con Iyael Pereyra.

Resumen

El sistema creado busca ayudar a la comunidad a enfrentar la situación de pandemia por la que se está atravesando en el año 2020. El sistema busca ayudar brindando información relevante sobre los diversos centros de ayuda (centros de donación de ropa, de comida, etc.) ubicados en la provincia de Buenos Aires. Para ello, este permite que una persona con acceso a internet pueda acceder a un sitio web y visualizar centros de ayuda cercanos, en los cuales se realizan donaciones de ropa, comida, plasma o de sangre. Esto ayuda tanto a organizaciones, como personas individuales a poder obtener de una forma rápida y centralizada la información relevante. Entre la información de los centros de ayuda que se brindan, se encuentra el nombre, localización geográfica, horario de apertura y cierre, teléfono y correo electrónico de contacto, entre otros. Además de poder visualizarlos, se puede sacar un turno, para realizar una donación respetando el protocolo que posee el centro de ayuda. Se tiene en cuenta la accesibilidad al sitio web para que pueda ser accedido sin problemas por cualquier persona y que sea responsive.

Palabras Claves

Python, Flask, VueJs, MVC, OAuth, Centro de ayuda y Turnos.

Tecnologias utilizadas

Para el desarrollo del sistema se utilizó para el backend el framework de Flask que está escrito en python. Además se utilizó un ORM (Asignación objeto-relacional) para la gestión de la base de datos, el cual fue SQLAlchemy. Se implementó una API (Application Programming Interface) para la comunicación con el frontend. Se utilizó OAuth para brindar un acceso alternativo de logueo.

Para el frontend, se utilizó el framework de Vue js escrito en javascript. Se utilizo la libreria Chartjs para mostrar gráficos estadísticos.

Funcionalidad implementada

Backend

  • Gestión de usuarios con roles y privilegios.
  • CRUD de centros de ayuda y turnos.
  • Filtrado de usuarios, centros de ayuda y turnos.
  • Paginación de elementos.
  • Incorporación de OAuth para logueo alternativo.
  • Interfaz de usuario amigable y accesible.
  • Test de unidad.

Frontend

  • Visualizar los centros de ayuda en un mapa.
  • Solicitar un turno disponible para un centro de ayuda particular.
  • Permitir la carga de un centro de ayuda (que para que sea visible, tiene que ser previamente validado).
  • Gráficos y estadísticas utilizando la información brindada por la API del backend.

Capturas de la aplicación final

Backend Inicio de sesion

Página principal usuarios

Listado de centros de ayuda

Crear un centro de ayuda

Frontend Página principal

Mapa con centros de ayuda

Solicitud de turno

Gráficos estadísticos