Git Product home page Git Product logo

vatsalkesarwani12 / heal-o-chat Goto Github PK

View Code? Open in Web Editor NEW
54.0 1.0 21.0 10.58 MB

Heal-O-Chat is a Social Media Application for people who have been feeling less motivated in life or are losing hope. This platform allows users to chat with people and share their thoughts and feelings with each other and thereby let go of stress, anxiety, and depression that they've been feeling for long.

Home Page: https://drive.google.com/drive/folders/1b5-8xw9_6Mp4vyKElj-K4mPzqCfPeGgL

License: Apache License 2.0

Java 100.00%
android java firebase-auth firebase-database firebase-realtime-database firebase-storage recyclerview chat-application social-media chat

heal-o-chat's Introduction

Heal-O-Chat

Heal-O-Chat is a Social Media Application for people who have been feeling less motivated in life or are losing hope. This platform allows users to chat with people and share their thoughts and feelings with each other and thereby let go of stress, anxiety, and depression that they've been feeling for long.

License first-timers-only PRs Welcome Minimum API Level Maximum API Level Open Source Love

Table of Contents

Top Features of the App

  • You can create your account in app using your google account.
  • You can see post made by users.
  • You can like, report posts in the app.
  • You can add your own post.
  • You can see public cure profiles.
  • You can text and call users.
  • You can see posts made by the user in user profile.
  • You can send text messages and images to other users.
  • You can block user from chat.
  • You can Track Your activity of the timeline.
  • You can deactivate you account.
  • You can make profile private.
  • You can revoke call from other users.
  • You can edit your profile.
  • You can add profile picture to the app.

Tech Used

  1. Android
  2. Java
  3. Firebase RealTime Database
  4. Firebase FireStore
  5. Firebase Authentication
  6. Google Analytics
  7. RecyclerView
  8. Material I/O

Requirements

  1. Android Version 5.0 and above
  2. compileSdkVersion 29
  3. minSdkVersion 21

Discord channel

chat on discord

Getting started

1. Star and Fork this Repository

You can star ⭐ and fork 🍽️ this repository on GitHub by navigating at the top of this repository.

GitHub repository URLs will reference both the username associated with the owner of the repository, as well as the repository name. For example, plazzy99 is the owner of this repository, so the GitHub URL for this project is:

https://github.com/plazzy99/heal-o-chat

When you’re on the main page for the repository, you’ll see a button to "Star" and “Fork” the repository on your upper right-hand side of the page, underneath your user icon.

2. Clone the Repository

To make your own local copy of the repository you would like to contribute to, let’s first open up a terminal window.
We’ll use the git clone command along with the URL that points to your fork of the repository.
This URL will be similar to the URL above, except now it will end with .git. In the example above, the URL will look like this:

https://github.com/plazzy99/Heal-O-Chat.git

You can alternatively copy the URL by using the green “Clone or download” button from your repository page that you just forked from the original repository page. Once you click the button, you’ll be able to copy the URL by clicking the binder button next to the URL:

Once we have the URL, we’re ready to clone the repository. To do this, we’ll combine the git clone command with the repository URL from the command line in a terminal window:
git clone https://github.com/plazzy99/Heal-O-Chat.git

3. Create New Branch

Once the project is opened create a new branch and checkout in it where you can make the changes in the code.
You can do this either from terminal or Directly in Android Studio.
To do from Terminal:
git branch new-branch
git checkout new-branch
To do directly from Android Studio
Click on Git branch in the bottom-right corner in Android Studio and create a new branch from there and checkout to it.

4. Commit and Push

After making the required changes commit and push your code
Terminal:
To add the changes after you have made the modifications

git add . or git add -A

To commit and push the changes
git commit -m <Your-commit-message>
git push --set-upstream origin new-branch

5. Update Local Repository

While working on a project alongside other contributors, it is important for you to keep your local repository up-to-date with the project as you don’t want to make a pull request for code that will cause conflicts. To keep your local copy of the code base updated, you’ll need to sync changes.
We’ll first go over configuring a remote for the fork, then syncing the fork.

6. Configure a Remote for the Fork

You’ll have to specify a new remote upstream repository for us to sync with the fork. This will be the original repository that you forked from. you’ll have to do this with the git remote add command.
git remote add upstream https://github.com/plazzy99/Heal-O-Chat.git
In this example, // upstream // is the shortname we have supplied for the remote repository since in terms of Git, “upstream” refers to the repository that you cloned from. If you want to add a remote pointer to the repository of a collaborator, you may want to provide that collaborator’s username or a shortened nickname for the shortname.

7. Sync the Fork

Once you have configured a remote that references the upstream and original repository on GitHub, you are ready to sync your fork of the repository to keep it up-to-date.

To sync your fork, from the directory of your local repository in a terminal window, you’ll have to use the // git fetch // command to fetch the branches along with their respective commits from the upstream repository. Since you used the shortname “upstream” to refer to the upstream repository, you’ll have to pass that to the command: git fetch upstream

Switch to the local master branch of our repository:

git checkout master

Now merge any changes that were made in the original repository’s master branch, that you will access through your local upstream/master branch, with your local master branch:

git merge upstream/master

8. Create Pull Request

At this point, you are ready to make a pull request to the original repository.
Navigate to your forked repository, and press the “New pull request” button on your left-hand side of the page.

ScreenShots

drawing drawing drawing drawing drawing drawing drawing drawing drawing drawing drawing

Download app from the link

Download both the files and then click .apk file

Project Maintainer

Issues Maintenance

Vatsal Kesarwani

Need help? Feel free to contact me @ [email protected]

You just made your First pull request to Heal-O-Chat

Do Star ⭐ this Repo.

Check the Leaderboard at:

https://njackwinterofcode.github.io/leaderboard.html

Java Git Github

Made with ❤️ By Vatsal Kesarwani

forthebadge ForTheBadge ANDROID

heal-o-chat's People

Contributors

sarthak-biswas avatar shreyanspoddar avatar vatsalkesarwani12 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

heal-o-chat's Issues

Fix bugs in ChatActivity

There are 2 bugs that I have discovered -
1 number of chats in the chat fragment tab heading are increasing even if the messages are from the same person
2 if you clear the whole chat, then also the last message is visible in the chat list item

Delete message for me

Delete message for me works like:
You can delete the message in your message.
Both your and your friend's message with whom you are chatting.

Slow Internet crash fix

Fix app crash on internet unavailability and show error messages for the same with proper handling.

Animation add-on

Add animation when an activity close and open.
(note: this issue should be implemented on all clicks where activity opens)

UI Improvement : Login Page

Add a new design to google sign-in button and add an animation clip along with the text that is being displayed

Profile Picture not getting displayed on receiver side.

The profile picture is displayed on the sender's end, but not getting displayed on the receiver's end.

ss

As you can see I have uploaded DP on the left side, It's getting uploaded to Firestore also, but not getting displayed on the emulator that's on the right side

Add Issue template

Can I make issue templates to enhance the workflow of the repository?

Unable to sign into the app

I am not able to get past the login screen ,getting this -
"com.google.android.gms.common.api.ApiException: 10"

I searched this and found that @plazzy99 you need to update the SHA1 in the firebase console of this app.

User online status

Currently, on scrolling the chat list we see that bcoz of recycler view recycling the green pointer (that mark user online) get recycled to the other offline user.

Also, When the user opens for the first time the users need to kill the app to start updating the online status.

Repeated Likes

Currently, if anyone signs-in again, then, they like the posts they have liked earlier again. So, we get repeated likes. We need to prevent the likes from being repeated.

Add Encryption/Decryption to messages

Currently, the messages are stored in the database in the form of simple strings that are readable by the owner and others with access to it.
The Idea is to use Cipher or MessageDigest and encrypt the messages to ensure privacy.

Clear full Chat in ChatsActivity

Add a feature like WhatsApp to clear the full chat from the receiver's side, as deleting one by one is a quite painful process

Click on user Dp to view full DP

Currently, you cannot see your DP after uploading. A feature to view user's DP in an enlarged view in the profile section and also of other user's in the cure profile section like in WhatsApp must be added

Click on username/profile picture to go to User Profile in Chat Activity.

In the ChatActivity, if the user wants to go to the sender's profile, he/she has to go to the options and select to view the profile, a 2 step process, which I think is not needed in the menu opitons. This can be improved by making it just a single step, which will improve the user experience.

Show message in Chat List

Currently, only the name is visible in the chat list of the chat fragment. Adding a feature to show the last message in the list only is a good feature and will enhance the User Experience.

Add contributing.md file

I think it is important to have contributing guidelines so that an open-source contributor know how to contribute properly.
Can I work on this?

Add unread messages count in chat list

Adding the number of unread messages per chat list will help the user to quickly identify the unread chats rather than clicking on each of the chats and checking for those messages

Show dialog if user wants to exit app

Currently, if you mistakenly press the back button while navigating the posts, cure, or chat fragments, the app is exited, which gets a little frustrating sometimes

UI Improvement

The app is built without following material design which needs to be made to make the app look better.

UI IMPROVEMENT : Chat Activity

Make the UI a little more pleasant looking and add some changes like repositioning the send image button and add new default ic_male and ic_female icons and redesign the chat text view

Delete message for everyone

Delete message for everyone works like:
delete the message for both of you and your friend with whom you're chatting.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.