An enterprise-grade, high-performance backend platform built with ASP.NET Core (.NET 9) adhering strictly to Clean Architecture, CQRS with MediatR, and Domain-Driven Design (DDD) principles.
Explore Architecture Β» Β· Features Overview Β· Quick Start Guide Β· API Reference (`details.md`)
β οΈ Project Status: Active DevelopmentAuthentication, Workspace Management, Project Management, Project Membership, Task Management, Real-Time Notifications (SignalR), the Workflow Automation Engine, and a Comprehensive Unit Testing Suite (348 Passing Tests) are fully implemented and verified.
The current development focus is Integration Testing and Analytics & Reporting, followed by expanded collaboration features.
- Overview & Vision
- Key Features
- Architecture & Design Patterns
- Getting Started
- Running Unit Tests
- Frontend Integration Reference
- License
DevFlow is designed as a modern, high-performance developer workflow and project management platform inspired by tools like Jira, Trello, and Linear. It provides software development teams with an extensible ecosystem to manage multi-tenant workspaces, Kanban task boards, domain event notifications, and automated business workflows.
- Authentication & Security: JWT Access Tokens, Refresh Token rotation & revocation, password hashing.
- Workspace Management: Multi-tenancy, owner/admin authorization enforcement, member invitations.
- Project & Membership Management: Workspace-scoped projects and role-based project access.
- Task Management: Kanban status lifecycle (
Todo,InProgress,Completed), priority tracking, assignee updates, domain events. - Real-Time Notifications: Persistent DB storage + SignalR WebSocket broadcasts (
/notificationHub). - Workflow Engine: Extensible Strategy Pattern engine intercepting MediatR domain events for rule evaluation and action execution.
- Unit Testing Suite: 348/348 Unit Tests Passed.
- Integration & End-to-End Testing pipeline.
- Analytics & Reporting Dashboard endpoints.
- Activity Tracking & Audit Logs.
- Webhook Action Executors & External Integrations.
- User Registration & JWT Login: Secure authentication issuing short-lived JWT tokens and long-lived refresh tokens.
- Sliding Expiration: Automated token refresh mechanism.
- Role-Based Authorization: Hierarchical roles (
Admin,Manager,Member). - Middleware Pipeline: Global exception handling middleware converting exceptions to standard JSON envelopes (
ApiResponse<T>).
- Workspace creation, updating, and soft/hard deletion.
- Role management (
Owner,Admin,Member). - Paginated queries (
GetMyWorkspaces,GetWorkspaceMembers) supporting search and sorting.
- Workspace-scoped projects with project-level membership control (
AddProjectMember,RemoveProjectMember). - Task management with status lifecycle (
Todo,InProgress,Completed) and priority levels (Low,Medium,High). - Domain Event Triggers (
TaskAssignedEvent,TaskCompletedEvent,ProjectCreatedEvent).
Configurable, event-driven business automation without altering core application code.
- Triggers: Domain event listeners (
TaskAssignedEvent,TaskCompletedEvent,ProjectCreatedEvent). - Condition Evaluator: Strategy-based operators (
Equals,NotEquals,GreaterThan,GreaterThanOrEqual,LessThan,LessThanOrEqual,Contains). - Action Executors: Strategy-based action dispatchers (
NotifyUser).
- In-App Notification persistence in SQL Server.
- SignalR WebSocket hub (
/notificationHub) delivering real-time notification models to connected clients. - Unread counter and bulk mark-as-read options.
DevFlow strictly isolates domain rules from infrastructure, database, and UI concerns through Clean Architecture principles.
graph TD
Client[Client / Web UI / React Frontend]
API[DevFlow.Api Web API]
Application[DevFlow.Application CQRS]
Domain[DevFlow.Domain Entities & Events]
Infrastructure[DevFlow.Infrastructure EF Core & SignalR]
SQL[(SQL Server Database)]
SignalR[(SignalR WebSocket Hub)]
WorkflowEngine[Workflow Automation Engine]
Notifications[Notification System]
Client --> API
API --> Application
Application --> Domain
Application --> Infrastructure
Infrastructure --> SQL
Infrastructure --> SignalR
Domain -->|Domain Events| WorkflowEngine
WorkflowEngine --> Notifications
Notifications --> SignalR
sequenceDiagram
participant Client
participant Controller
participant MediatR
participant PipelineBehaviors
participant Handler
participant Domain
participant Repository
participant SignalR
Client->>Controller: HTTP Request (POST /PUT /GET)
Controller->>MediatR: Send Command / Query
MediatR->>PipelineBehaviors: ValidationBehavior & LoggingBehavior
PipelineBehaviors->>Handler: Execute Handler
Handler->>Domain: Mutate Entity & Raise Domain Event
Handler->>Repository: Save Changes (UnitOfWork)
Domain-->>SignalR: Dispatch Real-time Notification
Handler-->>Client: Return ApiResponse<T>
DevFlow (Solution)
β
βββ DevFlow # ASP.NET Core API Project
β βββ Controllers/ # REST API Controllers (Auth, Workspace, Project, Task, Workflow, Notification)
β βββ Middleware/ # ExceptionMiddleware (Global exception handling)
β βββ Program.cs # Service Registration, Middleware Pipeline & SignalR Mapping
β βββ appsettings.json # Configuration & DB connection strings
β
βββ DevFlow.Application # Application Layer (CQRS Commands & Queries)
β βββ Abstractions/ # Interfaces for Repositories & Services
β βββ Common/ # Pipeline Behaviors (Validation, Logging), Models (ApiResponse, PagedResult)
β βββ DomainEvents/ # Domain Event Handlers (TaskAssigned, TaskCompleted, ProjectCreated)
β βββ Exceptions/ # Custom Exception Definitions
β βββ Notifications/ # Notification Handlers & Commands
β βββ ProjectMembers/ # Project Member Management Handlers
β βββ Projects/ # Project Handlers & Commands
β βββ Tasks/ # Task Handlers & Commands
β βββ Users/ # Auth, Login & Register Handlers
β βββ WorkflowAutomation/ # Workflow Engine, Condition Evaluators & Action Executors
β βββ Workflows/ # Workflow CRUD Handlers
β βββ Workspaces/ # Workspace Handlers & Commands
β
βββ DevFlow.Domain # Pure Domain Layer (Entities, Value Objects, Enums, Domain Events)
β βββ Entities/ # User, Workspace, Project, TaskItem, Notification, Workflow, RefreshToken
β βββ Enum/ # UserRole, WorkspaceRole, ProjectRole, TaskPriority, TaskStatus, etc.
β βββ Events/ # IDomainEvent implementations
β
βββ DevFlow.Infrastructure # Infrastructure & Persistence Layer
β βββ Persistence/ # DevFlowDbContext & EF Core Entity Configurations
β βββ Repositories/ # EF Core Repository Implementations & UnitOfWork
β βββ Security/ # JwtTokenGenerator, PasswordHasher
β βββ Services/ # Authorization Services, DomainEventDispatcher
β βββ Hubs/ # SignalR NotificationHub
β
βββ DevFlow.UnitTests # Comprehensive xUnit Testing Suite (348 Unit Tests)
βββ Application/ # Handler, Validator & Strategy Tests
βββ Common/ # Pipeline Behavior Tests
βββ Domain/ # Entity & Domain Event Tests
- .NET 9 SDK: Make sure .NET 9 SDK is installed (
dotnet --version) - SQL Server / LocalDB: SQL Server 2019+ or LocalDB
- Visual Studio 2022 / VS Code / Rider
Open appsettings.json in DevFlow/appsettings.json and configure your local SQL Server connection string and JWT settings:
{
"ConnectionStrings": {
"DevFlowDb": "Server=(localdb)\\mssqllocaldb;Database=DevFlowDb;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"
},
"Jwt": {
"Key": "YOUR_SUPER_SECRET_STRONG_KEY_32_CHARS_LONG",
"Issuer": "DevFlowApi",
"Audience": "DevFlowClient",
"ExpiryMinutes": 60
}
}Run EF Core database updates to apply all pending schema migrations:
cd DevFlow
dotnet ef database update --project ../DevFlow.InfrastructureStart the backend API server:
cd DevFlow
dotnet runThe API will start listening at:
- HTTP:
http://localhost:5000 - HTTPS:
https://localhost:7001 - Swagger / OpenAPI:
http://localhost:5000/openapi/v1.json
DevFlow comes with a comprehensive unit test suite covering Domain Entities, CQRS Handlers, FluentValidation rules, and Strategy Evaluators.
To execute all 348 Unit Tests:
dotnet testExpected Output:
Passed! - Failed: 0, Passed: 348, Skipped: 0, Total: 348
For detailed API endpoint documentation, HTTP request/response payloads, frontend Axios setup, and SignalR WebSocket integration guides, refer to the DevFlow Integration Reference (details.md).
Distributed under the MIT License. See LICENSE for more information.