Skip to content

Vaibhav2002/NextLife

Repository files navigation

NextLife

NextLife is a blood donation app in which users can see all people who need blood in their city and can help them by donation their blood for a good cause. This app is made for IGNITE 3.0 hackathon and won the Best hack for the Individual Track. This app demonstrates use of Modern Android development tools.

You can Install and test latest NextLife app from below 👇

Foodles

Setup

Clone the repository on your machine. Open the project on your IDE and connect it to firebase , enable email based authentication , enable firestore and also connect Google maps SDK and then everything will be setup

About

It uses firebase as its backend. It uses Firestore which is a NoSQL database to store all data. Firebase Storage to store images and Firebase Auth for the authentication. It uses Google maps SDK to render maps in app

  • Fully functionable.
  • Clean and Simple Material UI.

📸 Screenshots

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.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • LiveData - Data objects that notify views when the underlying database changes.
    • 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.
    • DataBinding - Binds data directly into XML layouts
  • Dependency Injection -
    • Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
    • Hilt-ViewModel - DI for injecting ViewModel.
  • Backend - Google Firebase
    • Firebase Auth - To support email based authentication
    • Firebase Firestore - A NoSQL database to store all data
    • Firebase Storage - A clous storage to store all images
  • Google Maps - To render google maps in app
  • Timber - A simple logging library for android.
  • Glide - An image loading library for Android backed by Kotlin Coroutines.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.

Package Structure

com.vaibhav.sociofy    # Root Package
.
├── data                # For data handling.
│   ├── model           # Model data classes 
│   └── repository      # Single source of data.
|
├── di                  # Dependency Injection             
│   └── module          # DI Modules
|
├── ui                  # UI/View layer
│   ├── auth            # Authorization Activity and its fragments
│   ├── homescreen      # Home Activity and its fragments
|   ├── onboarding      # Onboarding Activity and its files
│   └── splashScreen    # SplashScreen Activity
|
└── utils               # Utility Classes / Kotlin extensions

Architecture

This app uses MVVM (Model View View-Model) architecture.

Contact

If you need any help, you can connect with me.

Visit:- VaibhavJaiswal.io

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages