Skip to content

thatfedupguy/Agora-Android-GSoC20

Repository files navigation

Agora Android Application

Readme

Project to show my coding practices and UI Designs.

Overview of the repository:

UI implementation as shown in the Mockups:

◘ I have used Relative and constraint layout so that the screens are perfect for screens of every size.

◘ Navigation graph and NavHostFragment to change the fragments following single Activity Architecture.

◘ MainTabFragment contains the bottomNavigation view which performs fragment transition between the Election, home, profile Fragment.

◘ Styles for Button, TextInputLayout and splash screen.

◘ Custom Selectors and drawables for Buttons.

◘ LayerList for splash Screen.

◘ Binding views of the recycler view item with the dummy data generated in the repository class.

◘ Generic names for the resource values and views.

◘ Using vector drawables for icons(no images).

Code:

◘ Complete code in kotlin following proper MVVM and Single Activity Architecture.

◘ Configured all fragments with navigation architecture components.

◘ Configured all modules with dagger dagger, Created AppModule, AppComponent, ViewModelModule, FragmentModule, ViewModelFactory, fragment factory.

◘ Use of Kotlin coroutines to access data from the repository class in the background thread.

◘ Use of extension function to change title of the action bar, color of status bar and access string resources with simple functions.

◘ API integration for LOGIN API and Configuring room database to store user information.(To show project structure after implementation of room database and retrofit)

◘ Use of live data to observe if the user is logged in or not.

◘ Creation of custom exceptions to handle API and network call exceptions

◘ Configured Groupie and implemented data binding in the election fragment. I have used groupie to reduce boilerplate code for the recycler view holder.

Design

Figma Prototype

Note: Open link on laptop for smooth action.

About

Demo App showing UI design and architecture pattern

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages