The main goal of this project is to develop a multi-user Instant Messaging (IM) system that allows users to communicate in real-time through various channels and messages. The system will consist of a backend component and a frontend application, each providing key functionalities.
The application should allow the user to:
- Register and authenticate using usernames and passwords.
- Create, read: Channels and Messages.
- Join channels.
- Post messages within channels.
- View messages from different channels the user belongs to.
- Generate invitations for user registration.
- Generate invitations for channel join.