Di certo in modalità desktop sulla sinistra ci starà la lista delle altre aule prenotabili del dipartimento (e diventerà un menù ad hamburger in modalità mobile probabilmente)
Gli admin avranno una pagina in più per impostare nuove stanze (?) e creare gli slot temporali (?)
In realtà alla fine le stanze sono 4 e sempre quelle e si potrebbero impostare giusto una volta a mano una volta per tutte, anche se una cosa un minimo interattiva per posizionare i tavoli sulla griglia potrebbe essere utile. (anche solo letteralmente una <textarea> in cui inserire una tabella TSV con colonne x, y, w, h che rappresentano il rettangolo di uno tavolo/postazione).
Stessa cosa per gli slot temporali, in realtà si possono fare fissi e basta. Tra l'altro quelli già saranno spastici di loro e bisogna capire come fare il widget del calendario cliccabile.
Cliccando su un posto compare un menù per occupare il posto in quel momento se libero ed anche per prenotare il posto per quella settimana.
L'UX di questa cosa al momento non mi sembra per niente banale, tipo su mobile la cosa delle prenotazioni come dovrebbe mostrare il widget della settimana?
Altre cose incerte sono ad esempio come gestire le prenotazioni "generiche" per una certa aula o proprio per un posto a caso in dipartimento, ha senso rendere possibile prenotazioni di questo tipo invece di fare solo quelle "per postazione"?
I vantaggi sono che alcuni voglino un posto a caso in dip senza pensarci troppo, mentre altri magari vogliono proprio quel posto quindi fornire entrambe le feature sarebbe interessante. Nel caso alla fine basterebbe mettere vari contatori: uno di posti liberi in dip, uno per stanza e poi quello per i posti singoli (moralmente contatore per posto nel range "0/1"); a questo punto i contatori seguirebbero l'ereditarietà dei più specifici verso i meno specifici.
La gente può ottenere automaticamente il ruolo di moderatore (utente in grado di modificare i posti "occupati" in tempo reale in una stanza in modo da tenere il diagramma "live") con un sistema "a punteggi" in base a delle metriche: se l'utente passa ~5 giorni allo stesso posto oppure ~10 nella stessa stanza oppure ~30 in generale in dipartimento (di fila modulo fine settimana?) allora può diventare un moderatore.
Quindi allora:
- Di certo in modalità desktop sulla sinistra ci starà la lista delle altre aule prenotabili del dipartimento (e diventerà un menù ad hamburger in modalità mobile probabilmente)
- Gli admin avranno una pagina in più per impostare nuove stanze (?) e creare gli slot temporali (?)
- In realtà alla fine le stanze sono 4 e sempre quelle e si potrebbero impostare giusto una volta a mano una volta per tutte, anche se una cosa un minimo interattiva per posizionare i tavoli sulla griglia potrebbe essere utile. (anche solo letteralmente una `<textarea>` in cui inserire una tabella TSV con colonne x, y, w, h che rappresentano il rettangolo di uno tavolo/postazione).
- Stessa cosa per gli slot temporali, in realtà si possono fare fissi e basta. Tra l'altro quelli già saranno spastici di loro e bisogna capire come fare il widget del calendario cliccabile.
- Cliccando su un posto compare un menù per occupare il posto in quel momento se libero ed anche per prenotare il posto per quella settimana.
- L'UX di questa cosa al momento non mi sembra per niente banale, tipo su mobile la cosa delle prenotazioni come dovrebbe mostrare il widget della settimana?
- Altre cose incerte sono ad esempio come gestire le prenotazioni "generiche" per una certa aula o proprio per un posto a caso in dipartimento, ha senso rendere possibile prenotazioni di questo tipo invece di fare solo quelle "per postazione"?
- I vantaggi sono che alcuni voglino un posto a caso in dip senza pensarci troppo, mentre altri magari vogliono proprio _quel posto_ quindi fornire entrambe le feature sarebbe interessante. Nel caso alla fine basterebbe mettere vari contatori: uno di posti liberi in dip, uno per stanza e poi quello per i posti singoli (moralmente contatore per posto nel range "0/1"); a questo punto i contatori seguirebbero l'ereditarietà dei più specifici verso i meno specifici.
- La gente può ottenere automaticamente il ruolo di moderatore (utente in grado di modificare i posti "occupati" in tempo reale in una stanza in modo da tenere il diagramma "live") con un sistema "a punteggi" in base a delle metriche: se l'utente passa ~5 giorni allo stesso posto oppure ~10 nella stessa stanza oppure ~30 in generale in dipartimento (di fila modulo fine settimana?) allora può diventare un moderatore.
- [Badges?](https://as1.ftcdn.net/v2/jpg/03/00/17/92/1000_F_300179286_kVsDM18Mt15aHtbrbq1H6QP3TfuMl4bM.jpg)
Pagina per scegliere una selezione di slot, una volta scelti degli slot slot-uuid-1, ..., slot-uuid-n. Una volta selezionati i posti rimanda a /prenota?orario=slot-uuid-1,...,slot-uuid-n
/stanze
Dip.
/stanze/{stanza}
Pagina per scegliere una stanza (l'uuid delle stanze sarà dip/{stanza})
/prenota?...
Questa route ha svariati parametri
orario
Una lista di slot separati da virgola
- posto
Se identifica un "gruppo di posti" come una "stanza" o "dip"
**Esempi.**
- `/prenota?posto=dip` ~> `/stanze`
- `/prenota?posto=dip/{stanza}` ~> `/stanze/{stanza}`
- `/prenota?posto=dip/{stanza}/{posto}`
Questo invece va veramente bene e mostra la pagina del posto selezionato con la scelta dello slot orario.
- `/prenota?orario={list di slot-uuid-{i} per i = 1,...,n}`
Mostra la pagina per scegliere il posto inizialmente con tutte le stanze visibili con una info box con quello che hai già scelto
- `/prenota?orario={list di slot-uuid-{i} per i = 1,...,n}&posto=dip/{stanza}`
Questo mostra la singola stanza con la infobox e gli orari selezionati.
- `/prenota?orario={list di slot-uuid-{i} per i = 1,...,n}&posto=dip/{stanza}/{posto}`
In questa è tutto definito e moralmente serve mostrare solo il tasto prenota.
- `/occupa?posto=dip/{stanza}/{posto}`
Pagina per occupare un posto specifico (per uso QRCode phc)
## Nuovi URL
- `/`
Homepage del sito
- `/orari/`
Pagina per scegliere una selezione di slot, una volta scelti degli slot `slot-uuid-1`, ..., `slot-uuid-n`. Una volta selezionati i posti rimanda a `/prenota?orario=slot-uuid-1,...,slot-uuid-n`
- `/stanze`
Dip.
- `/stanze/{stanza}`
Pagina per scegliere una stanza (l'uuid delle stanze sarà `dip/{stanza}`)
- `/prenota?...`
Questa route ha svariati parametri
- `orario`
Una lista di slot separati da virgola
- `posto`
Se identifica un "gruppo di posti" come una "stanza" o "dip"
**Esempi.**
- `/prenota?posto=dip` ~> `/stanze`
- `/prenota?posto=dip/{stanza}` ~> `/stanze/{stanza}`
- `/prenota?posto=dip/{stanza}/{posto}`
Questo invece va veramente bene e mostra la pagina del posto selezionato con la scelta dello slot orario.
- `/prenota?orario={list di slot-uuid-{i} per i = 1,...,n}`
Mostra la pagina per scegliere il posto inizialmente con tutte le stanze visibili con una info box con quello che hai già scelto
- `/prenota?orario={list di slot-uuid-{i} per i = 1,...,n}&posto=dip/{stanza}`
Questo mostra la singola stanza con la infobox e gli orari selezionati.
- `/prenota?orario={list di slot-uuid-{i} per i = 1,...,n}&posto=dip/{stanza}/{posto}`
In questa è tutto definito e moralmente serve mostrare solo il tasto prenota.
- `/occupa?posto=dip/{stanza}/{posto}`
Pagina per occupare un posto specifico (per uso QRCode phc)
Schema della nuova struttura del database, modellizzato in [Typescript](https://www.typescriptlang.org/)
https://git.phc.dm.unipi.it/phc/posti-dm/src/branch/dev/database-model.ts
Quindi allora:
Di certo in modalità desktop sulla sinistra ci starà la lista delle altre aule prenotabili del dipartimento (e diventerà un menù ad hamburger in modalità mobile probabilmente)
Gli admin avranno una pagina in più per impostare nuove stanze (?) e creare gli slot temporali (?)
In realtà alla fine le stanze sono 4 e sempre quelle e si potrebbero impostare giusto una volta a mano una volta per tutte, anche se una cosa un minimo interattiva per posizionare i tavoli sulla griglia potrebbe essere utile. (anche solo letteralmente una
<textarea>in cui inserire una tabella TSV con colonne x, y, w, h che rappresentano il rettangolo di uno tavolo/postazione).Stessa cosa per gli slot temporali, in realtà si possono fare fissi e basta. Tra l'altro quelli già saranno spastici di loro e bisogna capire come fare il widget del calendario cliccabile.
Cliccando su un posto compare un menù per occupare il posto in quel momento se libero ed anche per prenotare il posto per quella settimana.
Altre cose incerte sono ad esempio come gestire le prenotazioni "generiche" per una certa aula o proprio per un posto a caso in dipartimento, ha senso rendere possibile prenotazioni di questo tipo invece di fare solo quelle "per postazione"?
La gente può ottenere automaticamente il ruolo di moderatore (utente in grado di modificare i posti "occupati" in tempo reale in una stanza in modo da tenere il diagramma "live") con un sistema "a punteggi" in base a delle metriche: se l'utente passa ~5 giorni allo stesso posto oppure ~10 nella stessa stanza oppure ~30 in generale in dipartimento (di fila modulo fine settimana?) allora può diventare un moderatore.
Nuovi URL
/Homepage del sito
/orari/Pagina per scegliere una selezione di slot, una volta scelti degli slot
slot-uuid-1, ...,slot-uuid-n. Una volta selezionati i posti rimanda a/prenota?orario=slot-uuid-1,...,slot-uuid-n/stanzeDip.
/stanze/{stanza}Pagina per scegliere una stanza (l'uuid delle stanze sarà
dip/{stanza})/prenota?...Questa route ha svariati parametri
orarioUna lista di slot separati da virgola
-
postoSchema della nuova struttura del database, modellizzato in Typescript
https://git.phc.dm.unipi.it/phc/posti-dm/src/branch/dev/database-model.ts