SyncVerse is a production-ready, enterprise-level workspace and project management system built with .NET 8 following Clean Architecture principles. It serves as a centralized hub for teams to collaborate, track time, manage tasks, and view insightful analytics across multiple roles.
- JWT-based Authentication with secure token management.
- OTP Verification: Secure email verification using dynamic OTP generation.
- Password Management: Password resets flow securely handled via OTP.
- Granular RBAC (Role-Based Access Control): Custom authorization policies distinguishing between
Admin,HR,Manager,ProjectManager,TeamLeader, andEmployee.
- Profile Management: Update personal info, role designations (Seniority/Department), and skills.
- Profile Images: Upload and manage profile pictures securely stored on the server.
- User Preferences: End-to-end management of settings including UI Theme (Light/Dark), Language (Localization), and Timezone.
- Notification Preferences: Toggle in-app (SignalR) and email notifications based on individual user preference.
- HR / Admin Controls: Complete user lifecycle management, role assignments, profile approvals, and account lockouts (Ban/Suspend).
- Workspace Setup: Multi-workspace support allowing companies to segment whole divisions. Includes specific industry categorizations for deeper analytics.
- Workspace Linking: Users are securely linked to specific workspaces, ensuring strict tenant isolation and contextual data queries.
- Company & Workspace Invitations: Email-backed invitations to seamlessly onboard new talent directly into their assigned workspace or project, completely integrated with RBAC roles.
- Agile Tooling: Complete hierarchical track from
Workspace→Project→Milestone→Task. - State Workflows: Task progression cycles (
Pending→InProgress→Submitted→Completed/Rejected). - Circular Dependency Detection: Prevents infinite loops when linking tasks using DFS algorithms.
- Task Attachments & Comments: Build discussions straight into tickets and upload relative documentation.
- Specialized Teams: Ability to form customized groups (Frontend, Devops, QA) under a dedicated Team Leader.
- Start and stop timer integration strictly linked to tasks.
- Automatic time sheet compilation for productivity reviews.
- Real-time pushed events directly from the Backend using SignalR.
- Alerts for newly assigned tasks, status changes, returned work, and mentions.
- Governed strictly by the user's personal Notification Settings.
| Feature / Module | Admin | HR | Manager | Project Manager | Team Leader | Employee |
|---|---|---|---|---|---|---|
| System Settings & Global Views | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
| User & Role Management | ✔️ | ✔️ | 🔘¹ | ❌ | ❌ | ❌ |
| Workspace Configuration | ✔️ | ❌ | ✔️ | ❌ | ❌ | ❌ |
| Create/Delete Projects | ✔️ | ❌ | ✔️ | ✔️ | ❌ | ❌ |
| Manage Milestones & Deadlines | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | ❌ |
| Assign Teams to Projects | ✔️ | ❌ | ✔️ | ✔️ | ❌ | ❌ |
| Create & Assign Tasks | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | ❌ |
| Review Submitted Tasks | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | 🔘² |
| Execute Tasks & Log Time | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
| Personal Profile & Settings | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Notes:
- ¹
Managerscan invite and manage employees specifically within their own Workspace boundaries. - ² Specific
Employeesassigned withQAorReviewerroles inside a project can review/verify tasks.
A major highlight of SyncVerse is its comprehensive, role-segregated analytical dashboards giving each tier of management exactly the data they need:
- 👑 Admin Dashboard: Top-level system metrics, total workspaces, and global task states.
- 🏢 Manager / Owner Dashboard: Workspace growth matrices, overall resource utilization, department headcounts, hierarchy charting, and deep dives into internal teams.
- 🧑💼 HR Dashboard: Employee turnover tracking, ongoing recruitment metric/invitations lifecycle, and department-specific task clearance rates.
- 📊 Project Manager Dashboard: Segregated views into managed portfolios, team member density, task completion velocities across specific active projects.
- 🎯 Team Leader Dashboard: Live tracking of Team Workload (who is overwhelmed vs. idle), Blockers Radar (overdue/rejected tasks), and Team Velocity calculations.
- 💼 Employee / Member Dashboard: personalized views detailing "My Tasks", impending deadlines, unread alerts, recent task discussions, and QA/Reviewer-specific validation grids.
This project strictly adheres to Clean Architecture patterns, ensuring high testability, extremely loose coupling, and organized dependency flow:
- Domain Layer: Core business models, Entities (
User,Project,TaskItem,UserSettings), and Enums. - Application Layer: Interfaces, DTOs, Application Logic, and Results wrappers. Contains core services (e.g.,
TaskService,DashboardService,ProfileService). No UI/DB dependencies. - Infrastructure Layer: EF Core
DbContext, Identity configuration, File Storage configurations, SignalR hubs, and Email Services. - Web API (Presentation) Layer: Minimal Controllers mapping HTTP logic into the Application layer, Swagger configurations, robust Middleware for exception handling, and JWT Bearer settings.
- Framework: .NET 8.0 C#
- Database: Microsoft SQL Server / Entity Framework Core (EF Core 8)
- Authentication: ASP.NET Core Identity & JWT
- Real-time Web: SignalR
- Data Mapping: AutoMapper
- File Storage: Local AppData Storage (Extendable to Azure Blob / AWS S3)
- Validation: FluentValidation
- API Documentation: Swagger / OpenAPI
- .NET 8 SDK
- SQL Server (LocalDB or Developer Edition)
- Visual Studio 2022 / VS Code / Rider
-
Clone the repository:
git clone https://github.com/syncverse12/Backend.Net.git cd Backend.Net -
Configure Database Connection: Navigate to
appsettings.jsonin the API project and update theDefaultconnection string to your local SQL server. Don't forget to configure the JWT Secret Key and Email SMTP credentials. -
Apply EF Core Migrations:
dotnet tool install --global dotnet-ef # If not already installed dotnet ef database update -p ./Infrastructure/SyncVerse.Infrastructure.csproj -s ./SyncVerse.csproj -
Run the API:
dotnet run --project ./SyncVerse.csproj
Or simply hit
F5in Visual Studio.
Once the application is running navigate to:
https://localhost:<port>/swagger/index.html
to view the dynamically generated Swagger UI encompassing all endpoints, models, and authorization behaviors.