CONNECT - say it with connect.

"CONNECT - Say It with Connect" is an online messenger app enabling real-time communication through Gmail accounts with features like friend requests, user status indicators, and theme customization.
Description
Issues / PRs
Team Members

CONNECT - Say It with Connect

CONNECT - Say It with Connect is a robust online messenger application designed to enhance communication among users via their Gmail accounts. The application leverages a variety of modern web technologies to provide a seamless, secure, and intuitive messaging experience. Below is a detailed description of the application's features, functionalities, and the technologies that power it.


Repository Links

  • Backend - https://github.com/GayalMelappilly/Connect-app-backend.git

  • Frontend - https://github.com/GayalMelappilly/Connect-app-frontend.git

Key Features

  1. Real-time Messaging:

    • Users can engage in instant messaging with their friends.

    • Messages are delivered in real-time using Socket.IO, ensuring swift and reliable communication.

  2. User Online Indicator:

    • The application displays the online status of users.

    • Users can see which of their friends are currently online and available to chat.

  3. Friend Requests:

    • Users can send and receive friend requests to connect with new friends.

    • The application manages friend requests and ensures a smooth process for accepting or rejecting them.

  4. Invite User via Gmail:

    • Users can invite others to join the platform through Gmail.

    • Invitations are sent using Nodemailer, integrating seamlessly with Gmail.

  5. Google Authentication:

    • Secure login and authentication are handled using Google OAuth.

    • Users can log in with their existing Gmail accounts, providing a secure and familiar authentication process.

  6. Dark/Light Mode:

    • Users can switch between dark and light themes according to their preference.

    • The user interface adapts to provide a comfortable viewing experience in different lighting conditions.

Technologies Used

  1. Backend Technologies:

    • MongoDB: Used as the database to store user information, messages, and friend relationships.

    • Express.js: Serves as the web application framework for building the server and RESTful APIs.

    • Node.js: Provides the runtime environment for the server-side code, enabling efficient and scalable server operations.

  2. Frontend Technologies:

    • React.js: A powerful library for building the user interface, ensuring a dynamic and responsive experience.

    • Tailwind CSS: A utility-first CSS framework that allows for rapid and efficient styling of the application.

    • Daisy UI: A set of components built on Tailwind CSS, used to create consistent and attractive UI elements.

    • Axios: A promise-based HTTP client used for making API requests from the frontend to the backend.

  3. Authentication and Real-time Communication:

    • Google OAuth: Provides secure user authentication through Google accounts.

    • Passport.js: Middleware for handling authentication strategies, integrating Google OAuth for user login.

    • Socket.IO: Enables real-time, bidirectional communication between the client and server, crucial for the messaging functionality.

  4. Email Integration:

    • Nodemailer: Used for sending emails, such as invitation emails through Gmail, ensuring smooth integration with Google services.

Implementation Details

  • User Authentication:

    • Implemented using Google OAuth and Passport.js, ensuring secure login with Gmail.

    • Authentication tokens are managed to maintain user sessions.

  • Database Management:

    • MongoDB is used to store user profiles, messages, and friend connections.

    • Schemas are designed to efficiently manage relationships and data retrieval.

  • Real-time Messaging:

    • Socket.IO is employed to handle real-time communication.

    • Events are managed for sending, receiving, and displaying messages instantly.

  • User Interface:

    • React.js provides a responsive and dynamic user experience.

    • Tailwind CSS and Daisy UI are used to create a visually appealing and user-friendly interface.

    • Dark/Light mode toggling is implemented to cater to user preferences.

  • Email Invitations:

    • Nodemailer is configured to send invitation emails via Gmail.

    • Integration ensures that users can easily invite their contacts to join the platform.

Conclusion

"CONNECT - Say It with Connect" is a comprehensive online messaging application that offers a variety of features to enhance user communication. By leveraging cutting-edge technologies and best practices, it provides a secure, efficient, and enjoyable user experience. Whether it’s for personal or professional use, this application facilitates seamless and real-time communication among users, making it an essential tool in today's connected world.

No Issues, PRs or Discussions added.
Antony M
Antony M
antony_m
Gayal M Sunil
Gayal M Sunil
gayal.m.sunil
Benjamin James
Benjamin James
benjamin_james
Antony Varghese
Antony Varghese
antony_varghese