---
# System prepended metadata

title: Pierre

---

# 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



