HashPass
HashPass An Android Project built on Android + Hasura
Application Install
You can Install QuizZon app from playstore π
Setup
Clone the repository on your machine. Open the project on your IDE and connect it to firebase and harperDB and everything will be setup
- Add your firebase json class in app directory
- Add your Hasura Credentital in build.property
About
In HashPass app you can manage your password easily.
- Fully functionable.
- Clean and Simple Material UI.
Insights into the app π
Built With π
- Kotlin - First class and official programming language for Android development.
- Coroutines - For asynchronous and more..
- Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- StateFlow - StateFlow is a state-holder observable flow that emits the current and new state updates to its collectors.
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
- DataStore - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers.
- Dependency Injection -
- Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
- Hilt-ViewModel - DI for injecting
ViewModel
.
- Backend
- Apollo - Apollo Kotlin (formerly Apollo Android) is a GraphQL client that generates Kotlin and Java models from GraphQL queries.
- Material Components for Android - Modular and customizable Material Design UI components for Android.
Package Structure
com.rohit.Quizzon # Root Package
.
βββ data # For data handling.
| βββ local # Room DB and its related classes
| βββ remote # Firebase, HarperDB and their relative classes
β βββ model # Model data classes, both remote and local entities
β
|
βββ di # Dependency Injection
β βββ module # DI Modules
|
βββ presention # UI/View layer
|
βββ utils # Utility Classes / Kotlin extensions
Architecture
This app uses MVVM (Model View View-Model) architecture.
Want to Contribute πββοΈ?
Awesome! If you want to contribute to this project, you're always welcome! See Contributing Guidelines.
Want to discuss? π¬
Have any questions, doubts or want to present your opinions, views? You're always welcome. You can start discussions.
Contact π©
Have an project? DM us at π
Donation π°
If this project help you reduce time to develop, you can give me a cup of coffee :)