Sto cercando di costruire una piccola applicazione sportiva, ma mi piacerebbe costruirla in modo che altre persone / organizzazioni possano usarla così com'è. Queste sarebbero app separate, non un'app che soddisfa tutti. Ad esempio, Football americano avrebbe l'app e il Basket avrebbero la loro app, entità completamente separate.
L'applicazione dovrebbe essere specifica per le proprie esigenze di dati e l'app di ogni organizzazione dovrebbe memorizzare dati diversi. Ma tutti manterrebbero qualche comunanza, come utenti, login, password dimenticate, registrazioni ecc.
Posso fornire un'applicazione di base per tutti gli elementi di archiviazione comuni e le funzionalità del sito web. Quali sono i modi più comprovati e flessibili per consentire a una persona / organizzazione di soddisfare le proprie esigenze di dati ed essere in grado di archiviare / manipolare / recuperare i dati personalizzati con poche modifiche personalizzate della lingua lato server?
Mi chiedo se questo è un buon caso per usare qualcosa come Mongo piuttosto che un RDBMS tradizionale?
Per confermare non si tratta solo di attivare o disattivare alcuni campi nelle tabelle, ma i dati saranno per la maggior parte molto incentrati sull'utente se ciò aiuta.
Aggiorna
Come da commento di Guy, sarà usato per i dati di allenatore e giocatore per ciascuna organizzazione sportiva. Tutto sarà basato sull'allenatore o sul giocatore, le differenze complete e complete tra le organizzazioni sportive che non conoscerei a questo punto, ma so che ci sono differenze tra le persone che ci lavorano, ad esempio:
Per i giocatori e gli allenatori ci saranno dati standard per aiutarli a identificarli e annotare i loro nomi, l'altezza dei giocatori, i giocatori pesano quel tipo di parametri. Dove diventa più complicato è che gli sport hanno modelli completamente diversi per le qualifiche, più flussi diversi, con vari livelli e sottomoduli. Normalmente mi piacerebbe solo creare una colonna "attiva" in grado di attivare o disattivare il campo dispari. Ma sembra che potrebbe essere troppo rudimentale come i modelli sono così diversi.