Especificacions: cooperativa de consum
Una cooperativa de consum responsable de Manresa necessita una aplicació per gestionar les seves comandes des d'internet. Ens demana que li fem l'aplicació i comencem per anar descobrint com funcionen i redactant les especificacions per facilitar la implementació i desplegament de l'aplicació.
Contingut
El client: Què és una cooperativa de consum?
El nostre client, la cooperativa "La Pera" es dedica a autogestionar la compra de productes que han de complir amb diversos requisits:
- Agricultura i ramaderia ecològica
- Producte de proximitat
- Respecte al medi ambient
- Comerç just
Cada dimarts tots els socis passen de 7:30 a 9:30 pel local i:
- Recullen la comanda de producte fresc (fruita, verdura, pasta fresca, pa, ous, formatges, etc.) que han fet la setmana anterior.
- Afegeixien el producte de stock que vulguin (muesli, arròs, cus-cus, farina, xocolata, etc.).
- Paguen
- Realitzen comanda per la setmana següent.
És en aquesta gestió de realitzar la comanda que el nostre client ens demana l'aplicació per facilitar que la gent la pugui fer per internet i per què faciliti la gestió amb els proveïdors.
Els socis s'organitzen en comissions de treball per realitzar les diverses tasques que cal fer per mantenir en funcionament la cooperativa:
- Compres: visita i compra als productors locals.
- Econòmiques: gestionen els cobraments de quotes, la caixa i el pagament als proveïdors.
- Internes: organitzen els torns de caixes (repartir el producte fresc encarregat la setmana anterior) i els torns de neteja.
- Infraestructures: realitzen el manteniment del local i logística (tuppers, envasos, etc.)
- Externes: comuniació amb altres cooperatives, fires, esdeveniments, difusió, etc.
Com es pot veure, el soci és una persona activa que ha de realitzar diverses tasques per beneficiar-se de la gestió de productes pels que es vetlla que sigui de consum responsable (requisits abans esmentats).
Intentem redactar unes especificacions per realitzar l'aplicació que els resolgui gestionar les comandes per internet.
L'aplicació
Tenim diverses facetes o cares de l'aplicació:
- Client de la cooperativa: realitza comanda setmanalment abans del (configurabe) divendres migdia.
- Gestor dels productes: posa preus, realitza comanda al proveïdor (informe per cadascun d'ells), imprimeix extractes per cada caixa (client de la cooperativa), etc.
Ambdós s'han d'identificar (autentificació) conrrectament per poder entrar a l'aplicació.
Especificacions funcionals
Per als clients:
- Han de poder connectar-se i identificar-se, amb un o diversos sistemes oberts com OAuth (facebook), Google Accounts o OpenID. Si no queda més remei es pot fer amb comptes propis però es vol evitar el manteniment d'usuaris i contrasenyes.
- Han de poder triar el dia d'entrega del producte. Per defecte serà el dia
Per als gestors:
- Han de poder donar d'alta i baixa usuaris basant-se en el sistema triat d'autenticació (OAuth, Google, OpenID, comptes de l'aplicació, etc.).
- Ha de poder triar-se el dia i hora d'entrega de productes de la cooperativa (en principi dimarts a les 6, ja que els socis arriben a les 7:30).
- Email proveïdors.
Especificacions no-funcionals
L'aplicació es realitzarà:
- En llenguatge Python.
- Amb el framework Pyramid.
- Sobre la plataforma de desplegament de Google App Engine (GAE). És la opció més econòmica.