Projects Feature
The Projects Feature encapsulates the creation and structural tracking of multi-repository MILTON projects.
Overview
Projects act as the foundational top-level domain within MILTON. Every Project ties together users, repositories, linked documents, and configuration profiles used throughout the remainder of the application lifecycle.
Endpoints
All project manipulation leverages FastEndpoints coupled with Wolverine CQRS messaging:
POST /api/projects(CreateProject.cs): Creates a new project environment (delegated to Wolverine handlers).GET /api/projects(ListProjects.cs): Lists all projects providing summarized metadata (e.g., repository counts, config statuses, and temporal metadata).GET /api/getprojects(GetProject.cs): Legacy fetching handler to support older internal workflows.
Data Model Intersections
The core model behind this feature is the Project entity:
- Has a
1:1mapping to ProjectConfig. - Tracks Users via
ProjectMembermapping tables supporting Role-based access control (ProjectUserRole.Admin/Member). - Holds soft references over all associated
Documentinstances.