Ciao,
provo a descriverti come ho fatto io, non è detto che sia il modo migliore.
Nella creazione del modulo di registrazione oltre ad archiviare nel database i dati dell'utente che si sta registrando dovresti fare in modo che si crei in automatico una tablella con il nome e l'id univoco dell'utente stesso, con + o - i seguenti campi:
id, nome utente, mail, tipo, e stato.
Quando l'utente A sceglie di seguire l'utente B si devono poter archiviare i dati dell'utente A nelle tabella dell'utente B, come tipo dovrebbe essere follower(o seguace), e nella propria tabella i campi dell'utente B con tipo following. Lo stato servirebbe per le autorizzazioni, non so se devi fare in modo che il seguito autorizzi, nel qual caso quando decide di farlo dovrebbe andare a modificare lo stato nella tabella da inattivo ad attivo.
![]()