[Java] Progetto sito web

Messaggioda EveyH » 03/12/2017, 18:18

Ciao a tutti, sto implementando un progetto che prevede la realizzazione di un sito di aste online da fare in java con l'uso di gwt e mapdb come gestore della persistenza. Ho diversi dubbi riguardo la gestione delle aste.
Gli utenti registrati possono mettere in vendita degli oggetti, specificando descrizione e prezzo base, data di scadenza e categoria di appartenenza. Solo l'admin può eliminare gli oggetti in vendita. Ogni utente registrato può fare un'offerta per un oggetto in vendita, solo l'admin può eliminare un'offerta. Nella pagina profilo gli utenti registrati possono vedere gli oggetti per i quali hanno effettuato un'offerta, con indicazione dello stato: asta chiusa e oggetto non aggiudicato, asta in corso e offerta migliore, asta in corso e offerta superata. Inoltre possono vedere gli oggetti da loro messi in vendita con l'indicazione dello satto: asta in corso, asta conclusa.
Alla scadenza dell'asta sulla pagina di descrizione degli oggetti verrà mostrato il nome del vincitore con la relativa offerta effettuata. Si possono fare domande sugli oggetti in vendita alle quali può rispondere solo il venditore. Solo l'admin può eliminare domande e risposte. Gli utenti non registrati possono vedere solo l'elenco degli oggetti in vendita (ordinati secondo la scadenza dell'asta), cliccando sugli oggetti in vendita si può visualizzare una pagina con la descrizione, l'attuale offerta più alta e le domande e le risposte fatte al venditore. Gli utenti registrati possono in più visualizzare gli oggetti ordinandoli per categorie.
Ho un po' di dubbi sulla gestione del tutto anche perché non sono pratica di MapDB.
Secondo voi dovrebbero esserci queste classi?
Asta
Offerta
Oggetto
Informazioni (cioè le domande e le risposte sugli oggetti)

Dove oggetto ha come variabili un id, la descrizione, il prezzo base, la categoria, l'informazione, l'utente che lo ha messo in vendita.
Mentre Offerta dovrebbe avere l'offerta, l'asta a cui fa riferimento (l'oggetto?) e l'utente che l'ha fatta.
Invece Asta dovrebbe avere: scadenza, venditore (utente), stato (boolean, chiusa o in corso), offerta, l'oggetto, il vincitore?
Le informazioni dovrebbero avere l'oggetto (a cui fanno riferimento), la domanda, la risposta.
Fra le tante cose sono in dubbio: gli oggetti meritano una classe a parte? La loro esistenza è vincolata all'asta, in quanto non è richiesto che esista un database degli oggetti da cui gli utenti possano attingere, inoltre di fatto un oggetto è definito semplicemente dalla sua descrizione. Tuttavia hanno parecchie informazioni che li riguardano. L'alternativa è considerare un oggetto come variabile di asta inserendo quindi in asta la variabile descrizione, il prezzo base, la categoria, le informazioni. L'eliminazione dell'oggetto in vendita diventa quindi di fatto l'eliminazione dell'asta.
Quale delle due vi sembra migliore?
Inoltre il problema dei prezzi: dato che l'amministratore può eliminare le offerte credo sia necessario che delle offerte resti traccia, mentre inizialmente avevo pensato che mi bastava mettere una variabile ultimoPrezzo nell'asta, che si aggiornava ad ogni offerta inserita. Insomma, davvero non so che fare.
Grazie di cuore a chiunque vorrà darmi qualche consiglio!
EveyH
Junior Member
Junior Member
 
Messaggio: 133 di 313
Iscritto il: 18/01/2015, 15:18

Torna a Informatica

Chi c’è in linea

Visitano il forum: Google [Bot] e 1 ospite