Skip to content

Public description of the features of my app from the private repo

Notifications You must be signed in to change notification settings

sdim2016/ccna-public

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

CCNA Exams

This is an application that helps networking students to prepare for the CCNA exams.

Used technologies

  • MVVM Architecture + Repository pattern
  • Navigation Component
  • BottomNavigationView with 3 top-level destinations
  • Single-activity application
  • Koin for dependecy injection
  • Firebase Firestore as a backend where the exams and questions are stored
  • Caching is implemented for Firestore
  • Retrofit + OkHttpClient to get the news from my API
  • Caching is implemented for the API requests
  • SwipeRefreshLayout for the News fragment
  • ViewPager2 + TabLayout for the quiz presentation
  • Custom TabLayout extension which dynamically sets the width of tab view so that 3-number string of 18sp size will fit there -> using reflection
  • Custom tabView for TabLayout (green, red or black small material card as a background for the tab number)
  • ROOM persistence library with full CRUD in order to save the quiz attempts, review completed quizzes, continue the previously started quizzes...
  • TypeConverters to store custom objects in ROOM
  • Glide to load images
  • Custom ImageDialog which uses PhotoView library and creates a modal window with the image which can be zoomed in/out with pinch or double click gestures
  • Custom ItemTouchHelper for History RecyclerView, which not only supports swipe-to-delete, but also draws a red delete background with white delete icon as a background of the swiped item
  • Shared Element Transitions between ModeFragment and StartFragment
  • Saving the quiz if the Activity is stopped
  • Implemented instance state management with onSaveInstanceState (if a process with open quiz is killed in the background, after opening the app again the user will be able to continue from the same point)
  • RecyclerView with 2 different ViewHolders selected based on the viewType
  • RecyclerView with Fall Down layoutAnimation
  • SharedPreferences
  • Firebase Google Analytics
  • Material design 2.0
  • Google Admob interstitial ads

Screenshots

Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot

About

Public description of the features of my app from the private repo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published