A Real-Time Collaboration Room for Chat, Notes, and Task Coordination.
SyncRoom is a web-based platform where users can create or join collaborative rooms to:
- Chat in real time: Instant messaging inside rooms.
- Shared Live Notes: Collaborative note-editing that syncs instantly.
- Task Board: Manage lightweight tasks (To Do, In Progress, Done) within the room.
Designed to simulate real-team environments, focusing on real-time systems, authentication, and state synchronization.
| Feature ID | Feature Name | Status | Date Completed |
|---|---|---|---|
| F-01 | JWT Authentication | ✅ Done | 2026-04-05 |
| F-02 | Room Management (CRUD) | ✅ Done | 2026-04-07 |
| F-03 | Real-time Messaging & Collaborative Notes | ✅ Done | 2026-04-10 |
- Backend: ASP.NET Core 9.0
- Real-time: SignalR Core
- Database: PostgreSQL via Entity Framework Core
To maintain code quality and project organization, please follow these guidelines:
We use a feature-branch workflow. Name your branches based on the task:
- New features:
feat/feature-name - Bug fixes:
fix/issue-name - Documentation:
docs/topic-name
- Pull: Ensure your local
developbranch is up to date. - Branch: Create a new branch from
develop. - Commit: Use clear messages (e.g.,
feat: add room deletion logic). - Test: Verify changes locally and update Postman collections in
/postmanif needed. - PR: Open a Pull Request to
developwith a description of your changes.
If you implement a feature requiring frontend integration, add a guide in the docs/ folder (e.g., docs/realtime-integration.md).
Prerequisites:
- Docker Desktop running
Steps:
-
Build and start all services:
docker compose up -d --build
-
Access Swagger at:
http://localhost:5000/swagger
The .env file contains all pre-configured settings for local development (database credentials, JWT keys, etc.).
To stop the services:
docker compose down