ChatHaven is a seamless communication platform designed to facilitate group discussions, private messaging, and role-based user management. Built with scalability and user experience in mind, it enables users to collaborate effectively through structured text channels and direct messages.
Effective and organized communication is crucial for team collaboration, yet many existing platforms either lack intuitive organization or require costly subscriptions. ChatHaven aims to provide an accessible, structured, and efficient solution for real-time messaging, ensuring seamless collaboration across various user groups.
- Text Channels for Group Communication
- Users can join topic-specific channels (e.g., "General," "Project Help," "Social").
- Messages in a channel are visible to all users within that channel.
- Direct Messaging (DM)
- Users can privately message other individuals.
- DMs are visible only to the participants involved.
- Role-Based User Permissions
- Admin Role: Can create/delete channels and moderate messages.
- Member Role: Can send and view messages within assigned channels.
- Frontend: HTML, CSS, TypeScript
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: Firebase Authentication
- Version Control: GitHub
This project follows the Agile Scrum methodology with iterative development cycles called sprints.
- Version Control & Collaboration: Managed using GitHub with structured repositories and issue tracking.
- Sprint Deliverables: Includes planning documents, user stories, and development progress tracking.
| Name | Student ID | Role |
|---|---|---|
| Adam Purcell | 40272334 | Backend |
| Amanda Yuen | 40031699 | Frontend |
| Annie Nguyen Ly | 40273050 | Backend |
| Asley Kate Antonio | 40240741 | Backend |
| Tonny Zhao | 40283194 | Frontend |
| Ysa Francesca Sison | 40287483 | Frontend |
GitHub Repository: <team_name-SOEN341_Project_W25>
- Clone the repository:
git clone https://github.com/your-repository-link.git
- Navigate to the project directory:
cd ChatHaven - Install dependencies:
npm install # If using Node.js - Run the application:
npm start # Start the development server
- Follow the GitHub branching strategy (e.g.,
main,feature/branch-name). - Submit pull requests for review before merging.
- Update the project documentation as needed.
This project is developed as part of the SOEN 341 course and is intended for educational purposes.