An application must be made that allows user registration, user login, displaying a list of tracks and their details with all the information.
In this application we show a list of tracks to be able to see the details of the track The problems to be solved are the following: The first view is the one corresponding to the application login, and contains a text field for the username, a text field for the password, a login button, and a record Button. The challenge to complete on this screen will be the following:
- Validate username and password data.
- When you press the registration option, the registration screen should be displayed, which will be the beginning of Onboarding.
The registration process must consist of the following views:
-
User data: Email, password, first name, last name
-
Home Screen: It will be the main screen, which the user accesses once they perform a successful login.
-
We have a table of users and another of tracks in Room
- Kotlin
- Ktor
- Corrutines
- Koin
- Room
- Settings Multiplatform
- Compose
- Data Storage Preferences
- Coil
- mockitoKotlin
- material3
- devtools-ksp
- google-services
- Clean Architecture
- Clean Code
- SOLID
- MVVM patten
- Repository pattern
- Dependency injection
To manage user login, authentication with email and password stored in the room was used.
Onboarding Android | Onboarding iOS |
---|---|
![]() |
![]() |
SignIn Android | SignIn iOS |
---|---|
![]() |
![]() |
SignUp Android | SignUp iOS |
---|---|
![]() |
![]() |
Track List, Detail Track and Profile
Home Android | Home iOS |
---|---|
![]() |
![]() |
User and List in Room
Tracks table

Users table

To test and see movements you can use the following credentials
user: speedymovil
password: speedymovil2024
You can also create a user from scratch to test Sign Up
Also you can run the Unit Tests, recommended command:
/gradlew test
