Skip to content

Chat App is a robust web application built on Next.js, React, and MongoDB, offering real-time chat, voice, and video calling. Whether you want to add friends, block users, create channels, groups, or guilds, Chat App has you covered.

License

Notifications You must be signed in to change notification settings

mart1d4/chat-app

Repository files navigation

Chat-App

Chat-App is a web application built with Next.js, React, and MongoDB that allows users to chat and talk with people in real-time. Similar to Discord, Chat-App lets users add friends, block users, create channels, groups, or guilds. Users can also make voice and video calls with one another. Chat-App is an excellent solution for individuals or groups who want to communicate effectively and efficiently.

Installation

  1. Clone the repository: git clone https://github.com/mart1d4/chat-app.git
  2. Install dependencies: npm install
  3. Run the development server: npm run dev

Features

  • Real-time chat
  • Voice calling (coming soon)
  • Video calling (coming soon)
  • Add friends
  • Block users
  • Create channels
  • Create groups
  • Create guilds

Issue Tracker

  • Add Friends popup closing when clicking on a user to add (working fine when fixed layer listens for mousedown instead of click)
  • Some tooltips not rerendering when closing a fixed layer
  • Some menus not opening in the correct position
  • Menus going off screen when opening too close to the edge
  • User profile content isn't scrolling but expanding instead
  • Pusher triggers not properly configured
  • Message improperly displayed in pin and delete popup
  • [Prisma Relations] disconnecting a channel from a user removes the user from the channel
  • Need to recreate dm notification implementation in AppNav
  • Not always receiving websockets when sending a message to the channel the user is currently in
  • Channel receiving a message-sent websocket needs to display the channel item as active
  • FixedLayer components are being rerendered when clicking the buttons to close them
  • Editing an image data using enter to submit the form doesn't always work
  • UserCard and UserProfile banner's foreignObject acting very weirdly when rendering with another foreignObject in the background
  • Requesting a friend adds the user twice to the friends list (only way to fix is to refresh the page)
  • Clicking on an image to preview it sometimes takes a while to load and messes up the layout
  • Textarea still needs improvements; e.g. pasting text while having text selected doesn't always work as expected
  • Textarea content doesn't get cleared when sending a message
  • Clicking an element that rerenders in a FixedLayer component closes the layer
  • Deleting a large message doesn't make the one below large if it needs to be

Please report any issues or bugs on the GitHub Issue Tracker.

Technologies Used

  • Next.js
  • React
  • MongoDB
  • Prisma
  • Pusher
  • Zustand

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Chat App is a robust web application built on Next.js, React, and MongoDB, offering real-time chat, voice, and video calling. Whether you want to add friends, block users, create channels, groups, or guilds, Chat App has you covered.

Topics

Resources

License

Stars

Watchers

Forks