Skip to content

Aplicación móvil de transporte que cuenta con las principales funcionalidades similar a Uber, destinada tanto a choferes como pasajeros. Y back-office web destinado a los administradores del sistema.

Notifications You must be signed in to change notification settings

imontecalvo/FiUber-Taller-2-7552--FIUBA

Repository files navigation

FiUber-Taller-2-7552--FIUBA

Objetivo

El objetivo del proyecto es crear una aplicación móvil de transporte que cuente con las principales funcionalidades similar a Uber, destinada tanto a choferes como pasajeros. A su vez, también se busca crear un sitio web que funcione como back-office destinado a los administradores del sistema.

Enunciado

El enunciado completo junto con toda la información detallada, incluyendo:

  • Descripción
  • Requisitos Funcionales
    • Épicas
    • Historias de usuario
  • Requisitos No Funcionales

Se puede consultar en el siguiente enlace: Enunciado proyecto FiUber

DEMO

Aplicación móvil

demo-fiuber.mp4

Backoffice web

demo-fiuber-backoffice.mp4

Documentacion

La documentación del backend y los manuales de usuario, tanto de la aplicación móvil como del backoffice, se encuentran en el siguiente enlace: Documentacion del proyecto

Arquitectura

Se utilizó una arquitectura de microservicios, donde cada uno de los cuatro microservicios (Cuentas, Viajes, Pagos y Métricas) se mantiene aislado, desplegado de forma independiente, brinda una determinada API y posee su propia base de datos.

Por otro lado, se encuentra un gateway que hace de intermediario entre el frontend y los microservicios evitando una comunicación directa con los mismos y encargándose de la creación o validación del token cuando corresponda.

A continuación, se puede ver un diagrama que ilustra esta arquitectura, junto con las interacciones que ocurren entre los microservicios en cuestión, las cuales suceden de forma interna y directa sin pasar por el gateway.

Microservicios

  • Cuentas: Se encarga de todas las funciones relacionadas a la creación, modificación, eliminación y obtención de cuentas, ya sean usuarios (choferes y pasajeros) como administradores del backoffice.

  • Viajes: Se encarga de todas las funciones relacionadas a la realización de un viaje incluyendo el inicio de un viaje, la búsqueda de pasajero por parte del chofer, confirmación de viaje y la finalización del mismo.

  • Métricas: Se encarga de todas las funciones relacionadas a la creación, modificación y obtención de métricas relacionadas a los viajes, usuarios y transacciones.

  • Pagos: Se encarga de todas las funciones relacionadas a la creación y obtención de wallets, realización de depósitos y retiros, y obtención de información de transacciones realizadas.

Los endpoints de cada una de las APIs que proporcionan estos microservicios se encuentran en la documentación: Endpoints de microservicios

Stack utilizado

Backend

  • Node.js + Express
  • Python + Flask

Frontend

  • React (backoffice web)
  • React Native (aplicación móvil)

Base de datos

  • PostgreSQL
  • MongoDB

Integrantes

About

Aplicación móvil de transporte que cuenta con las principales funcionalidades similar a Uber, destinada tanto a choferes como pasajeros. Y back-office web destinado a los administradores del sistema.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published