Prossime Feature #1

Open
opened 4 years ago by aziis98 · 2 comments
Owner

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.

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)
aziis98 added the
enhancement
label 4 years ago
Poster
Owner

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)
    
## 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)
Poster
Owner

Schema della nuova struttura del database, modellizzato in Typescript

https://git.phc.dm.unipi.it/phc/posti-dm/src/branch/dev/database-model.ts

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
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: phc/posti-dm#1
Loading…
There is no content yet.