Skip to content

rohitjakhar/hashpass

Repository files navigation

HashPass

HashPass An Android Project built on Android + Hasura

Application Install

You can Install QuizZon app from playstore 👇

HashPass

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 🔎

Hashpass.gif

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
    • Firebase
      • Firebase Auth - To support email based authentication.
      • Firebase Crashlytics - To report app crashes
    • Hasura - The Hasura GraphQL Engine is an extremely lightweight, high performance product that gives you instant realtime GraphQL APIs on a Postgres database.
  • 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 👇
Mail

LinkedIn

Donation 💰

If this project help you reduce time to develop, you can give me a cup of coffee :)

Buy Me A Coffee