Coder Social home page Coder Social logo

talk-in's Introduction

Talk-In: Text Messaging Chat App

App Logo

This is a simple text messaging chat app developed using Kotlin. It allows users to send and receive text messages in real-time.

Upcoming Features:

  • Real-time Messaging: Users can send and receive text messages instantly.
  • User Authentication: Secure user authentication system to ensure only authorized users can access the app.
  • User Profiles: Users can create and customize their profiles with profile pictures and status messages.
  • Contacts: Users can add, remove, and manage their contacts list.
  • Group Chat: Users can create and participate in group chats with multiple participants.
  • Message Encryption: Messages are encrypted to ensure privacy and security.
  • Push Notifications: Users receive push notifications for new messages and other important events.
  • Emoji Support: Users can send emojis to express themselves better.
  • Dark Mode: Optional dark mode for better usability in low-light environments.
  • Voice Messaging: Implement voice messaging functionality for users to send voice messages.
  • File Sharing: Allow users to share files such as images, videos, and documents.
  • Message Reactions: Users can react to messages with emojis or predefined reactions.
  • Message Editing: Enable users to edit sent messages.
  • Message Deletion: Allow users to delete sent messages.
  • Message Search: Implement a search feature to search through message history.
  • Custom Themes: Allow users to customize the app's appearance with different themes and color schemes.
  • Message Timestamps: Show timestamps for each message to indicate when it was sent.
  • Offline Mode: Implement offline mode for users to read and compose messages even without an internet connection.
  • Backup and Restore: Enable users to backup and restore their chat history.
  • Integration with Other Platforms: Integrate the app with other messaging platforms such as WhatsApp, Facebook Messenger, or Telegram.

Technologies Used:

  • Kotlin: The primary programming language used for app development. kotlin website
  • Firebase: Firebase Authentication for user authentication and Firebase Realtime Database for real-time messaging. firebase website
  • Android SDK: Android Software Development Kit for building Android apps. sdk website
  • MVVM Architecture: Model-View-ViewModel architecture pattern for clean and maintainable code. know more about MVVM website
  • Retrofit: For making HTTP requests to the server for additional functionalities like profile updates and group chat management. Retrofit website
  • Glide: For efficient image loading and caching. glide website

Installation:

  1. Fork It: Fork the project to create your own copy.

  2. Clone the repository:

    $ git clone https://github.com/<your-account-username>/<your-forked-project>.git
  3. Open the project in Android Studio.

  4. Connect your Android device or start an emulator.

  5. Run the app.

  6. Do the contribution you want do.

Contributing

Contributions are welcome! If you'd like to contribute to this project, follow the steps

  1. 🌿Branch Out: Create a new branch with a meaningful name. Branching allows you to work on a separate line of development without affecting the main codebase.
$ git checkout -b <your_branch_name>
  1. ✍️Make Changes: Work your magic on the codebase. Modify existing files, add new ones, or remove unnecessary ones as needed.

  2. 📁Track Changes: After making your modifications, add the changed files to the staging area.

    $ git add .
  3. 🚚Commit: Commit your changes with a descriptive message that summarizes the changes you've made.

    $ git commit -m "<commit message>"
  4. 🚀Push Changes: Push your committed changes to your forked repository on GitHub. This will allow you to create a pull request from your branch.

    $ git push -u origin <your_branch_name>
  5. 🌐Create Pull Request: Head to GitHub, navigate to your forked repository, and initiate a pull request by clicking "Compare & pull request".

    In the pull request description, provide a clear and concise summary of the changes you've made, along with any relevant information or context. This will help the project maintainers understand your contribution and review it more efficiently.

    Once you've created the pull request, it will be reviewed by the project maintainers. They may request changes, provide feedback, or merge your contribution into the main codebase. Remember, this process is essential for contributing to open-source projects on GitHub. Following these steps ensures that your changes are properly tracked, reviewed, and integrated into the project while maintaining code integrity and collaboration.

Alternatively using GitHub Desktop

  1. Open GitHub Desktop: Launch GitHub Desktop and log in to your GitHub account if you haven't already.

  2. Clone the Repository:

    • If you haven't cloned the ResourceHub repository yet, you can do so by clicking on the "File" menu and selecting "Clone Repository."
    • Choose the repository from the list of repositories on GitHub and clone it to your local machine.
  3. Switch to the Correct Branch:

    • Ensure you are on the branch that you want to submit a pull request for.
    • If you need to switch branches, you can do so by clicking on the "Current Branch" dropdown menu and selecting the desired branch.
  4. Make Changes: Make your changes to the code or files in the repository using your preferred code editor.

  5. Commit Changes:

    • In GitHub Desktop, you'll see a list of the files you've changed. Check the box next to each file you want to include in the commit.
    • Enter a summary and description for your changes in the "Summary" and "Description" fields, respectively. Click the "Commit to " button to commit your changes to the local branch.
  6. Push Changes to GitHub: After committing your changes, click the "Push origin" button in the top right corner of GitHub Desktop to push your changes to your forked repository on GitHub.

  7. Create a Pull Request: Go to the GitHub website and navigate to your fork of the ResourceHub repository. You should see a button to "Compare & pull request" between your fork and the original repository. Click on it.

  8. Review and Submit:

    • On the pull request page, review your changes and add any additional information, such as a title and description, that you want to include with your pull request.
    • Once you're satisfied, click the "Create pull request" button to submit your pull request.
  9. Wait for Review: Your pull request will now be available for review by the project maintainers. They may provide feedback or ask for changes before merging your pull request into the main branch of the ResourceHub repository.

TalkIn Website

  1. Technologies The Web App is coded in dart programming language using the Flutter SDK.

  2. Hosting The Website is deployed using the Firebase Hosting.

  3. Method to Host on Firebase

    1. Install the Firebase CLI using the command-
      $ npm install -g firebase-tools" 
    2. Initialise your project
      1. $ firebase login" 
      2. $ firebase init"
    3. Deploy to Firebase using the command -
      $ firebase deploy" 

If you find this project useful, please consider giving it a star! ⭐️

Contact for help:

  1. Admin- Shivam Jaiswal For questions or inquiries, please contact Shivam Jaiswal

  2. Mentors- Aman Nishad , Amanpreet Kaur For questions or inquiries, please contact Aman Nishad For questions or inquiries, please contact Amanpreet Kaur

💪 Thanks to all Contributors

Thanks to all contributors for helping this project grow! 🍻

🙏 Support

Don't forget to leave a star ⭐ for this project!

Crafted with ♥ by @Ijaiswalshivam

talk-in's People

Contributors

ijaiswalshivam avatar maniyaom avatar satwikmohan avatar nitinsigilipelli avatar hdhimalay avatar javaman97 avatar adityaprakash-03 avatar yuvrajsinghgmx avatar pranishkafle6175 avatar vishwajith-shettigar avatar sharmanishchay avatar anglerfishlyy avatar lucky-chelani avatar aditya41150 avatar pradnyagaitonde avatar rithika212k3 avatar suhanipaliwal avatar dakshsinghrathore avatar

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.