Projecte Mensakas

De Wiket
Salta a la navegació Salta a la cerca

Mensakas és una cooperativa de repartiment a domicili fundada a partir del col·lectiu Raiders Por Derechos, extreballadors de corporacions de repartiment com Glovo o Deliveroo que han decidit no deixar-se explotar per aquestes grans corporacions.

Ens demanen que els ajudem a millorar una aplicació que estan desenvolupant de repartiment a domicili.

Riders.jpg Mensakas.jpg

Introducció

Té 3 rols d'usuari:

  • Administrador. Pot veure tots els elements del sistema mitjançant una webapp.
  • Empreses (restaurants). Té una webapp per visualitzar les comandes que els arriben dels Consumers.
  • Repartidor (el Mensaka). Té una app específica per acceptar comandes emeses.
  • Consumer (client final). Té una app específica (pública a Google Play/AppStore) per fer comandes.

Fases del projecte

  • Fase 1: Desenvolupament de les webapps core de l'Administrador i dels Restaurants.
  • Fase 2: Desacoblament per components per compatibilitzar i unificar el funcionament de les webapps i de les apps mòbils a través d'una API única.

Especificacions no funcionals

  • Desenvoluparem en PHP i el framework Laravel.
  • L'arquitectura ha de permetre escalabilitat dels servidors per poder augmentar el nombre de peticions per unitat de temps quan sigui necessari.
  • La BD serà en MySQL/MariaDB i es desplegarà mitjançant el servei RDS (Relational Database Service) de AWS ja que facilita l'escalabilitat.


Fase 1: Webapps core Administrador i Restaurants

Backlog

  1. Iniciar projecte en Laravel en un repositori públic a Github.
  2. Dissenyar models de dades i implementar-los amb la migració inicial.
  3. Construir seeder amb dades de prova amb tots els rols i
  4. Implementar autenticació nadiua de Laravel.
  5. Modificar el model d'usuari per contemplar els diversos rols considerats.
  6. Construir interfície de l'Administrador:
    1. Gestió de Comandes (Consumer): visualització, estat (emesa, recollida, repartida), afegir comentaris.
    2. Gestió de Business (Restaurants): alta, baixa, modificació, franquícies.
    3. Gestió de Menus (dels Restaurants): alta, baixa, categories, packs, extras
    4. Gestió de Deliverers: geolocalització, assignació de comandes automàtica.
  7. Construir interfície del Deliverer:
    1. Visualització de comandes a recollir.
    2. Acceptació de comanda.
    3. Confirmació de recollida.
    4. Confirmació de repartició.