Diferència entre revisions de la pàgina «Projecte Mensakas»
Salta a la navegació
Salta a la cerca
Línia 34: | Línia 34: | ||
* '''Orders''' (Comandes) emeses pels Consumers. | * '''Orders''' (Comandes) emeses pels Consumers. | ||
*: Tenen estat (emesa, acceptada, recollida, entregada), i carret amb els productes | *: Tenen estat (emesa, acceptada, recollida, entregada), i carret amb els productes | ||
+ | * '''Franquícies''': un mateix Business pot tenir diverses "delegacions". El Consumer emetrà una única Order, però el sistema decidirà quina franquícia d'aquell Business se'n fa càrrec. | ||
=== Order lifecycle === | === Order lifecycle === | ||
− | # CONSUMER: | + | # CONSUMER: Tria Business i afegeix productes al carretó. |
− | # CONSUMER: | + | # CONSUMER: Confirma comanda (guardada a la DB) |
− | # CONSUMER: | + | # CONSUMER: Paga comanda (Order) |
+ | # SISTEMA: Tria Franquícia i notifica comanda. | ||
# BUSINESS: Assignar hora de recollida | # BUSINESS: Assignar hora de recollida | ||
# SISTEMA: geoloc (Business, Consumer, Deliverer) -> notificar Deliverers | # SISTEMA: geoloc (Business, Consumer, Deliverer) -> notificar Deliverers |
Revisió del 18:09, 29 des 2019
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.
Elements de la plataforma
Rol | Interfície | Descripció |
---|---|---|
Administrador | webapp | Pot veure tots els elements del sistema. |
Business (Empreses, Restaurants) | webapp | Visualitza les comandes emeses pels Consumers. |
Deliverer (Repartidor o Mensaka) | app mòbil | Visualitza comandes i les pot acceptar. |
Consumer (client final) | app mòbil | Visualitza Empreses (Restaurants) i menús i pot emetre comandes. |
La plataforma ha de permetre treballar amb els següents elements:
- Menús dels restaurants.
- Tindran Items (productes), Categories (jeràrquiques), Packs i Extres (salses, complements, etc.)
- Orders (Comandes) emeses pels Consumers.
- Tenen estat (emesa, acceptada, recollida, entregada), i carret amb els productes
- Franquícies: un mateix Business pot tenir diverses "delegacions". El Consumer emetrà una única Order, però el sistema decidirà quina franquícia d'aquell Business se'n fa càrrec.
Order lifecycle
- CONSUMER: Tria Business i afegeix productes al carretó.
- CONSUMER: Confirma comanda (guardada a la DB)
- CONSUMER: Paga comanda (Order)
- SISTEMA: Tria Franquícia i notifica comanda.
- BUSINESS: Assignar hora de recollida
- SISTEMA: geoloc (Business, Consumer, Deliverer) -> notificar Deliverers
- DELIVERER: Acceptar comanda
- DELIVERER: Marcar "comanda recollida"
- DELIVERER: Marcar "comanda entregada"
Fases del projecte
- Fase 1: Desenvolupament de les webapps core de l'Administrador i dels Restaurants (monolit).
- Fase 2: Desacoblament per components comunicats per APIs per compatibilitzar i unificar el funcionament de les webapps (Admin, Restaurant) i de les apps mòbils (Consumers, Deliverers).
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
- Iniciar projecte en Laravel en un repositori públic a Github.
- Dissenyar models de dades i implementar-los amb la migració inicial.
- Construir seeder amb dades de prova amb tots els rols i
- Implementar autenticació nadiua de Laravel.
- Modificar el model d'usuari per contemplar els diversos rols considerats.
- Construir interfície de l'Administrador:
- Gestió de Comandes (Consumer): visualització, estat (emesa, recollida, repartida), afegir comentaris.
- Gestió de Business (Restaurants): alta, baixa, modificació, franquícies.
- Gestió de Menus (dels Restaurants): alta, baixa, categories, packs, extras
- Gestió de Deliverers: geolocalització, assignació de comandes automàtica.
- Construir interfície per al Business (Restaurant):
- Visualització de comandes entrants.
- Acceptació de comanda.
- Afegir comentaris.
- Assignació hora de recollida.