Sito con utenti che si registrano, postano news, caricano documenti.

Questi utenti sono registrati in un DB che contiene:
Nome
Cognome
Username
Mail
Password
Data di nascita
Permessi
ecc..

Scusate se la domanda è troppo generica.
Io ho semplicemente realizzaato un po' di roba in PHP dove utenti registrati con livelli diversi di permessi possono gestire alcune parti del sito.
Mi pèiacerebbe capire come progettare il tutto usando uno schema ad oggetti.