HashPass An Android Project built on Android + Hasura
You can Install QuizZon app from playstore 👇
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
In HashPass app you can manage your password easily.
- Fully functionable.
- Clean and Simple Material UI.
- 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.
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
This app uses MVVM (Model View View-Model) architecture.
Awesome! If you want to contribute to this project, you're always welcome! See Contributing Guidelines.
Have any questions, doubts or want to present your opinions, views? You're always welcome. You can start discussions.
If this project help you reduce time to develop, you can give me a cup of coffee :)