Skip to content

EdgarBarcenas97/StoriTest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

57 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Android Stori Technical Test

A banking application must be made that allows user registration, user login, bank information: balance, list of movements made and detail of the movement.

๐Ÿ“œ Problem to solve

The problems to solve are the following: The first view is the one corresponding to the login of the application, and contains a text field for the username, a text field for the password, a login button and a register button.The challenge to meet on this screen will be the following:

  • Validate user data and password
  • When making a valid login, the home screen (bank account information and list of movements) should be displayed.
  • When pressing the registration option, the registration screen should be displayed, which will be the beginning of the Onboarding.

The registration process must consist of the following views:

  • User data: Email, password, name, last name
  • Take ID photo: Take a picture of the ID.
  • Success screen: Show a success message โ€œTu cuenta ha sido creada exitosamenteโ€.
  • Home Screen: It will be the main screen, the one that the user accesses once he makes a correct login.
  • The data collected in the Onboarding must be stored in a database that the candidate must create in Firebase.
  • The candidate must also create test data in Firebase with movements to be able to perform a user login without having to create an account.

๐Ÿ“Ž Technologies and topics used

Technologies

  • Kotlin
  • Corrutines
  • Hilt
  • Firebase (Storage, Auth, Cloud DataBase)
  • Compose
  • Data Storage Preferences
  • Coil
  • mockitoKotlin
  • material3
  • devtools-ksp
  • google-services

Topics

  • Clean Architecture
  • Clean Code
  • SOLID
  • MVVM patten
  • Repository pattern
  • Dependency injection

๐Ÿ’พ Firebase

Firebase Authentication

To manage user login, Firebase Authentication was used with email and password.

Firebase Storage

All user picture identification are stored in Firebase Storage, and the picture url is saved in Firestorage like user data

Firestore

Now to store the user data Firestore is used, having a collection users to save the user data and another collection intended transactions to save the movements

Users table

Transactions table

๐ŸŽจ UI Test

Onboarding

Sign In

Sign In Success Some Fiel is Wrong User Invalid

Sign Up

Sign Up Form Success Sign Up Form is Wrong User al readey Exist

Picture

Home

Home New User Home New With Transactions

Profile

Transaction Detail

๐Ÿ’š How did you test it?

To test and see movements you can use the following credentials

email: [email protected]
password: Edgar15_

You can also create a user from scratch to test Sign Up

Also you can run the Unit Tests, recommended command:

/gradlew test

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages