CineMates is a modern android application for movie fans in which you will be able to search for movies and consult information provided by The Movie DB.
Ecco una proposta di progettazione per il modulo :feature:auth:
[ ] :feature:auth:
Questo modulo conterrà le schermate, i view model e la logica di autenticazione dell'applicazione. Sarà responsabile di gestire le schermate di login e di autenticazione e fornirà le dipendenze necessarie per l'autenticazione.
Nella feature di autenticazione, utilizzeremo Dagger Hilt per iniettare le dipendenze dai moduli sopra descritti. Inoltre, creeremo i view model per gestire la logica di autenticazione e le schermate per l'interazione dell'utente.
[x] :data:auth:
In questo modulo, implementeremo l'interfaccia del provider di autenticazione definendo la logica per l'autenticazione utilizzando i provider specifici. Ad esempio, se vogliamo utilizzare l'autenticazione con Firebase, creeremo una classe FirebaseAuthManager che implementa l'interfaccia del provider di autenticazione e gestisce l'autenticazione con Firebase.
In questo modulo, definiremo anche un'interfaccia per il repository di autenticazione. Questa interfaccia definirà i metodi per gestire l'autenticazione, come il login, il logout e lo stato di autenticazione.
Implementeremo l'interfaccia del repository di autenticazione utilizzando l'implementazione del provider di autenticazione specifico (ad esempio, FirebaseAuthManager). Il repository di autenticazione sarà responsabile di gestire la logica di autenticazione e fornirà i dati al view model della feature.
[x] :core:network:
Questo modulo conterrà le classi per le richieste di rete e l'inizializzazione di Retrofit. Potremo utilizzare questo modulo anche per definire l'interfaccia del servizio di autenticazione, se necessario.
Suggestion / Feature Request
Implementare la feature di login scalabile in modo da poter utilizzare un qualsiasi servizio in futuro.
L'applicazione deve permettere all'utente di loggarsi tramite email e password e dovrà attendere che un amministratore lo approvi