Skip to content

GypsyTheDj/ChitChat

Repository files navigation

CHIT CHAT

A Simple Instant-Messaging Android App powered by Google's Firebase

Kotlin Gradle Material UI Firebase GitHub license PRs Welcome Maintenance

ChitChat is a simple Android application to show the MVVM design pattern usage following Clean Architecture approach.

Features 🕹

  • 100% Kotlin-only.
  • Following Clean Architecture approach.
  • Following MVVM Architectural Design Pattern.
  • Using Pagination.
  • Using Navigation Component.

Under Development 🧰🚧

  • Some minor improvements are underway 🛠

FEATURES

  --->LOGIN , REGISTER

  • Register new account
  • Login with existing account
  • Logout
  • Firebase authentication for login and register

  --->VIEW ALL USERS

  • View all the users using the app
  • View their profile image and status

  --->MAKE NEW FRIENDS

  • Send friend request to any user
  • Cancel friend request sent
  • Accept friend request received
  • Decline friend request received
  • Notification will be received by receiver

  --->MAINTAIN OWN ACCOUNT

  • Change Profile Image
  • Change Status

  --->CHAT WITH FRIENDS

  • Send Messages
  • Send Images
  • Delete Messages
  • Last seen
  • See if a Friend is Online or Not

  --->OTHERS

  • Firebase Offline (Once page is loaded , one can view it in offline mode)
  • Firebase Cloud Messaging , OKHTTP (for sending notification)
  • Image Cropping
  • Image Compressing

References

Contributing and reporting issues 🤝

I appreciate contributions of any kind - new contributions are welcome whether it's through bug reports or new pull requests.

Tell me about enhancements and bugs

Please add an issue. I'll review it, add labels and reply within a few days.

See an issue you'd like to work on

Comment on the issue that you'd like to work on and I'll add the claimed label. If you see the claimed label already on the issue you might want to ask the contributor if they'd like some help.

Documentation needs updating

Go right ahead! Just submit a pull request when you're done.

Pull Requests

I love pull requests from everyone:

  1. Fork this repository:
  2. Clone forked repository git clone git@github.com:YOUR-USERNAME/ChitChat.git

All changes should be based from the master branch. Push to your fork and submit a pull request against the master branch.

At this point you're waiting on me 😊. I like to at least comment on pull requests within few days. I may suggest some changes or improvements or alternatives.

Some things that will increase the chance that your pull request is accepted:

  1. Make sure all tests and lint checks are passing (review them on the pull request page)
  2. Update README with any changes are needed
  3. Write tests (if needed)
  4. Write a good commit message

Let's have fun 🥳🥑

ForTheBadge built-with-love ForTheBadge powered-by-electricity

Releases

No releases published

Packages

No packages published

Languages