Local Account is an app that exemplifies a user authentication flow, built with Kotlin
and Jetpack Compose
.
Sign In Screen
: it is the entry point of the app if there is no user connected. On this screen it is possible to login using email and password, or navigate to the screen responsible for creating a new account.Sign Up Screen
: this is the screen responsible for creating a new account, with name, email and password.Reset Password Screen
: the user can reset the password by providing an email on this screen.Home Screen
: it is the entry point of the app if the user checks the option to stay connected during login. Here it is possible to logout and navigate to settings screen.Settings Screen
: here it is possible to change the name or email of the account. In addition to being able to change the preference between light theme or dark theme and whether or not to use DynamicColors (feature only for Android 12 or higher).
Coroutines
: for all asynchronous tasks.Hilt
: responsible for Dependency Injection.Room
: responsible for intermediation with SQLite, where account data is saved.Datastore Preferences
: where preferences such as theme option and stay connected are saved.Navigation
: screen navigation is done following good practices to keep composable functions decoupled and reusable.Material 3
: the app's is based on Material 3 colors and components.
Download available on Play Store.