Mi piacerebbe creare un sito web per una scuola locale e poi offrirlo ad altri. Il principale mal di testa della scuola al momento è quello di catturare voti e commenti degli studenti alla fine di ogni periodo scolastico. I dati degli studenti sul loro attuale sistema possono essere modificati solo dallo staff dell'amministratore, che non ha sempre le informazioni più aggiornate. In passato questo ha impedito agli insegnanti di inserire voti per uno studente, perché i loro dettagli non sono presenti o non sono assegnati alla classe corretta.
Funzione 1
Vorrei creare un sistema in cui tutti i dettagli siano modificabili provvisoriamente da chiunque, ma le modifiche sono visibili solo all'editor fino a quando non sono state approvate dallo staff dell'amministratore. Pertanto, gli insegnanti potrebbero inserire gli studenti mancanti e inserire i segni senza attendere che l'amministratore risolva il problema.
Caratteristica # 2
Sono preoccupato per gli studenti che accedono agli account dei loro insegnanti e cambiano i loro marchi. Mi piacerebbe essere in grado di tenere traccia di tutte le modifiche di orario, accesso, indirizzo IP, ecc. In modo da poter ripristinare, ad esempio, tutte le modifiche apportate al conto di Mrs Sweet (in realtà sua nipote) tra le 23:00 e le 12:00 dello scorso sabato.
Sto facendo fatica a creare un progetto di database che mi consenta di tenere una registrazione permanente delle modifiche apportate dagli utenti, contrassegnare una di quelle modifiche come ignored
/ invalid
ed essere in grado di rigenerare gli ultimi dati i valori della cronologia delle modifiche ignorando le modifiche escluse.
Esiste già un modello di design / combinazione di pattern che farà quanto sopra? Ci sono degli inconvenienti nascosti? È stato implementato altrove?