Felix-Kariuki / Mingle

A dating app build with jetpack compose
Apache License 2.0
14 stars 6 forks source link
authentication collaborate dagger-hilt firebase github jetpack-compose kotlin retrofit

Mingle

This is a dating application that is fully built with Jetpack compose. NOTE: the application is still under very heavy development and your contrubutions are welcome. Chekout the [issues]() section and help work some of the pending issues, enhancements and bugs. Feel free to also add any issues or bugs detected.

Get it on Google Play

Instructions↗️

To run the application you download the version present on Playstore or clone this project into your machine. Once you clone you'll need to connect the project to firebase and add the google-services.json file to this path:

app\
    src\ 
       dev

NOTE To simulate the real feel of the application you'll have to create two or three accounts and select different genders and interests in the account creation process. To make this entire process easier you can use this google-services.json that already has test users that i am using for development phase.

I am using product flavours and have three flavours dev , staging and production. Once you have added the google-services.json file to the dev flavour variant path,

Contribution 🪶

To contribute to the project clone it and make your changes. Once done with making changes, on the terminal of your android studio run

    • ./gradlew spotlessApply
    • ./gradlew ktlintFormat
    • ./gradlew ktlintcheck

    Once the code passes all ktlint checks push the code and open a Pull Request

Contributor(s) 🤝

Take a look at the contributors for this project. 😎

Screenshots 📷

Tech stack & Libraries 🛠️👨‍💻

1.UI layer

The role of the UI layer (or presentation layer) is to display the application data on the screen. Whenever the data changes, either due to user interaction (such as pressing a button) or external input (such as a network response), the UI should update to reflect the changes. The UI layer is made up of two things:

2.Data layer

The data layer of an app contains the business logic. The business logic is what gives value to your app—it's made of rules that determine how your app creates, stores, and changes data. The data layer is made of repositories that each can contain zero to many data sources. You should create a repository class for each different type of data you handle in your app.

3.Domain Layer

The domain layer is an optional layer that sits between the UI and data layers. The domain layer is responsible for encapsulating complex business logic, or simple business logic that is reused by multiple ViewModels. This layer is optional because not all apps will have these requirements. You should use it only when needed—for example, to handle complexity or favor reusability

Modularization

Author✍️

Felix Kariuki

Buy Me A Coffee

Do Reach Out :