# Pierre ## Team ### Roles - Matteo Regge: referente + dev - Paolo Marzolo: tech review - Mattia Guazzaloca: tech lead - Ossama ...: dev - Valentina ...: dev ## Requirements Pierre is an app that connects club owners/managers to end-users. It is designed to avoid the current middle-man, the PR. Users can: - view the catalogue of SERATE (entity name) - for each SERATA, view TICKETS available for sale - buy TICKETS - every DISCO has address (and contact?) information associated with it - view the TICKETS they have bought, and present PROOF OF SALE to entrance staff ### Possible Enhancements - get notified when favourite place (so favourite places) has a new SERATA - get directions/uber/sharenow to club - get back together with other people feature @_@ Manager can: - scan PROOF OF SALE to admit users - add TICKETS for a SERATA (login) - reserve table for x many people for their own SERATA (login required) - for each SERATA, a manager can see the reserved tables and the ones left - can see the list of pending requests for certain tables - configure the SERATA (login required), meaning setting up the page of the SERATA the users see, info such as prices,music genre, food, guests.... ## num estimates conservative final version: - ~20 DISCOS -> ~80 SERATE/week -> ~40 managers - ~250 TICKETS available per SERATA -> 20'000 TICKETS/week - ~250k USERS minimum viable product: - 1 DISCO -> ~3 SERATE/week -> ~2 managers - 20 TICKETS available per SERATA -> 60 TICKETS/week - users... we'll see what we can get. ## Data model ### TICKETS Tickets are especially complex, as many variations are in commerce today. Let's start by rounding them up: - Single entrance ticket: simplest ticket; gets a person (with a specific name?) into the club, once. Multiple versions of a single entrance ticket can be created, with different names, description and price. - Table ticket: allows for a list of guests to be specified. Price is paid by a single USER. - Multiple entrance ticket: not considered. - Drinks/performances/food included: not considered. so TICKET: ``` id; // unique id.SERATA; // associated SERATA type; //single or table title; // shows up in app description; // shows up in app id.CUSTOMER; // holder id.proof of sale; ``` CUSTOMER: ``` id; anagraphical info; contact info; preferences; [purchase history]; //(?) tickets? ``` SERATA: ``` id; date; description; people coming; [ids.TICKET]; ``` MANAGER: ... ## Code Management Approach: multi-repo under a single org ### Mobile Mobile app ### Web Management webapp ### Server ## Tech Stack