This project is a real-time chat application built using Go
for the backend, React
for the frontend, WebSocket
protocol for real-time messaging, GORM
for database management,
and Echo
for handling HTTP requests. The application allows users to engage in private conversations, store unread messages, and view the
online/offline status of other users.
- Private Real-Time Messaging: Users can exchange private messages in real-time using WebSocket protocol, enabling instant communication.
- Unread Messages Storage: The application stores unread messages for each chat, ensuring users can catch up on conversations they may have missed.
- Online/Offline Status: Users can see the online or offline status of other users, providing visibility into their availability for communication.
- Deleting chats and messages
- Read Receipt: notify users when their messages have been read by the recipient.
- Typing Indicator: add functionality to show when a user is typing a message, enhancing the user experience and indicating active communication.
- File Sharing: enable users to send files such as images, documents, or multimedia files during chat sessions, expanding the range of communication possibilities.
docker-compose up --build
cd front/
npm i
npm run dev