Table of Contents

Class CreateProjectRequest

Namespace
Builvero.Application.DTOs.Project
Assembly
Builvero.Application.dll

Request model for creating a new project.

public class CreateProjectRequest
Inheritance
CreateProjectRequest
Inherited Members

Remarks

This DTO is used by the project creation endpoint. The creating user becomes the project owner. Category must match a valid ProjectCategory enum value. Status is optional and defaults to "Idea" if not provided or invalid.

Properties

BuilderTagIds

Gets or sets the list of builder tag identifiers to associate with the project.

public List<Guid> BuilderTagIds { get; set; }

Property Value

List<Guid>
Request model for creating a new project.

Remarks

All provided tag IDs must exist. Empty list is allowed.

Category

Gets or sets the project category as a string (e.g., "Software", "Hardware", "Design").

public string Category { get; set; }

Property Value

string
Request model for creating a new project.

Remarks

This is a required field and must match a valid ProjectCategory enum value.

Description

Gets or sets the main description of the project.

public string Description { get; set; }

Property Value

string
Request model for creating a new project.

Remarks

This is a required field and should not be empty.

Name

Gets or sets the name of the project.

public string Name { get; set; }

Property Value

string
Request model for creating a new project.

Remarks

This is a required field and should not be empty.

PreferredExperienceLevel

Gets or sets the preferred experience level for project members (e.g., "Beginner", "Intermediate", "Expert").

public string? PreferredExperienceLevel { get; set; }

Property Value

string
Request model for creating a new project.

Remarks

Optional field. Used for matching builders with appropriate skill levels.

RichDescription

Gets or sets an optional rich description of the project, which may include formatted text or additional details.

public string? RichDescription { get; set; }

Property Value

string
Request model for creating a new project.

ShortDescription

Gets or sets an optional short description of the project, suitable for previews or summaries.

public string? ShortDescription { get; set; }

Property Value

string
Request model for creating a new project.

SkillIds

Gets or sets the list of skill identifiers to associate with the project.

public List<Guid> SkillIds { get; set; }

Property Value

List<Guid>
Request model for creating a new project.

Remarks

All provided skill IDs must exist and be active. Empty list is allowed.

Status

Gets or sets the project status as a string (e.g., "Idea", "InProgress", "Completed").

public string? Status { get; set; }

Property Value

string
Request model for creating a new project.

Remarks

Optional field. Must match a valid ProjectStatus enum value. If not provided or invalid, defaults to "Idea".

Tags

Gets or sets optional tags or keywords associated with the project.

public string? Tags { get; set; }

Property Value

string
Request model for creating a new project.

Remarks

Optional field. Can be used for additional categorization or search keywords.