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.
- Clone the repository:
git clone https://github.com/mart1d4/chat-app.git
- Install dependencies:
npm install
- Run the development server:
npm run dev
- Real-time chat
- Voice calling (coming soon)
- Video calling (coming soon)
- Add friends
- Block users
- Create channels
- Create groups
- Create guilds
-
Add Friends
popup closing when clicking on a user to add (working fine when fixed layer listens formousedown
instead ofclick
) - 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
andUserProfile
banner'sforeignObject
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.
- Next.js
- React
- MongoDB
- Prisma
- Pusher
- Zustand
This project is licensed under the MIT License - see the LICENSE file for details.