El proposito de esta aplicacion es facilitar la conexion entre gente con ganas de donar y centros u organizaciones que distribuyan a personas en situacion de necesitad. Buscamos lograr este objetivo mediante una interfaz simple e intuitiva que logre hacer la localizacion del donante y mostrar los centros mas cercanos.
La aplicación está dividida en dos grandes partes, una parte de cliente y una de servidor.
La parte de cliente es la cargada de mostrar los datos de cada unos de los Donados/Donadores de manera tal que se pueda navegar fluidamente y encontrar la informacion que uno necesita.
- React: para el desarrollo del frontend utilizamos React (biblioteca escrita en JavaScript), facilita la creación de componentes interactivos y reutilizables.
- Spring Boot: Como framework para el desarrollo de la aplicación por todas las herramientas que disponibiliza para facilitar el "cableado" entre las capas de servicios y controllers, simplificación de sintaxis y orquestado de la arquitectura backend.
- Kotlin: Utilizamos Kotlin como el lenguaje de nuestro backend por su flexibilidad como lenguaje, su integración con Spring y por estar montado sobre la JVM (siendo Java un lenguaje al que estamos acostumbrados).
- MySQL DB: En principio utilizamos MySQL para la Base de Datos tal ya que inicialmente, el modelo es simple.
Como herramienta de integracion continua estamos utilizando Travis por su facilidad de uso, configuración e integración con el repositorio.
El servidor front realiza toda su comunicacion con el cliente a travez de llamadas HTTP Rest a localhost
Como host y herramienta de deployment planeamos utilizar Zeit para el frontend y Heroku para el backend. El porque de utilizar diferentes host proviene de la especialidad de cada plataforma, las cuales brinda herramientas particulares para cada tipo de servidor.