Table of Contents

Class VolunteerApplication

Namespace
Builvero.Domain.Entities
Assembly
Builvero.Domain.dll

Represents an application submitted by a user for a volunteer role within the Builvero organization.

public class VolunteerApplication
Inheritance
VolunteerApplication
Inherited Members

Remarks

Volunteer applications contain applicant information, availability, motivation, and optionally a resume file. Applications progress through various statuses (New, Reviewed, Accepted, Rejected) as they are processed by administrators. The application includes consent tracking and file upload information for resumes.

Properties

ConsentGivenAtUtc

Gets or sets the UTC timestamp when the applicant gave consent for data processing and communication.

public DateTime ConsentGivenAtUtc { get; set; }

Property Value

DateTime
Represents an application submitted by a user for a volunteer role within the Builvero organization.

Remarks

This timestamp is required for compliance with data protection regulations.

Country

Gets or sets an optional country where the applicant is located.

public string? Country { get; set; }

Property Value

string
Represents an application submitted by a user for a volunteer role within the Builvero organization.

CreatedAtUtc

Gets or sets the UTC timestamp when this application was submitted.

public DateTime CreatedAtUtc { get; set; }

Property Value

DateTime
Represents an application submitted by a user for a volunteer role within the Builvero organization.

Email

Gets or sets the email address of the applicant.

public string Email { get; set; }

Property Value

string
Represents an application submitted by a user for a volunteer role within the Builvero organization.

Remarks

This is a required field and is used for communication regarding the application.

FullName

Gets or sets the full name of the applicant.

public string FullName { get; set; }

Property Value

string
Represents an application submitted by a user for a volunteer role within the Builvero organization.

Remarks

This is a required field and should not be empty.

HoursPerWeek

Gets or sets the estimated hours per week the applicant can commit to the volunteer role.

public HoursPerWeek HoursPerWeek { get; set; }

Property Value

HoursPerWeek
Represents an application submitted by a user for a volunteer role within the Builvero organization.

Id

Gets or sets the unique identifier for this volunteer application.

public Guid Id { get; set; }

Property Value

Guid
Represents an application submitted by a user for a volunteer role within the Builvero organization.

InterestReason

Gets or sets the applicant's reason for interest in this volunteer role.

public string InterestReason { get; set; }

Property Value

string
Represents an application submitted by a user for a volunteer role within the Builvero organization.

Remarks

This is a required field and explains why the applicant wants to contribute to this role.

LinkedInUrl

Gets or sets the LinkedIn profile URL of the applicant.

public string LinkedInUrl { get; set; }

Property Value

string
Represents an application submitted by a user for a volunteer role within the Builvero organization.

Remarks

This is a required field and provides additional professional background information.

MobileStackOptionsJson

Gets or sets optional mobile stack preferences stored as a JSON string.

public string? MobileStackOptionsJson { get; set; }

Property Value

string
Represents an application submitted by a user for a volunteer role within the Builvero organization.

Remarks

This field is used for roles that involve mobile development, allowing applicants to specify their preferred mobile technology stack (e.g., React Native, Flutter, native iOS/Android).

PortfolioUrl

Gets or sets an optional portfolio URL showcasing the applicant's work.

public string? PortfolioUrl { get; set; }

Property Value

string
Represents an application submitted by a user for a volunteer role within the Builvero organization.

ResumeContentType

Gets or sets the MIME content type of the uploaded resume file (e.g., "application/pdf").

public string? ResumeContentType { get; set; }

Property Value

string
Represents an application submitted by a user for a volunteer role within the Builvero organization.

ResumeOriginalFileName

Gets or sets the original filename of the uploaded resume file.

public string? ResumeOriginalFileName { get; set; }

Property Value

string
Represents an application submitted by a user for a volunteer role within the Builvero organization.

Remarks

This preserves the original filename for display and download purposes.

ResumeS3Key

Gets or sets the S3 object key for the applicant's resume file, if uploaded.

public string? ResumeS3Key { get; set; }

Property Value

string
Represents an application submitted by a user for a volunteer role within the Builvero organization.

Remarks

If provided, this points to the resume file stored in S3. The file can be accessed via a presigned URL.

ResumeSizeBytes

Gets or sets the size of the uploaded resume file in bytes.

public long? ResumeSizeBytes { get; set; }

Property Value

long?
Represents an application submitted by a user for a volunteer role within the Builvero organization.

Role

Gets or sets the volunteer role this application is for.

public VolunteerRole Role { get; set; }

Property Value

VolunteerRole
Represents an application submitted by a user for a volunteer role within the Builvero organization.

RoleId

Gets or sets the unique identifier of the volunteer role this application is for.

public Guid RoleId { get; set; }

Property Value

Guid
Represents an application submitted by a user for a volunteer role within the Builvero organization.

SelectionReason

Gets or sets the applicant's reason for why they should be selected for this role.

public string SelectionReason { get; set; }

Property Value

string
Represents an application submitted by a user for a volunteer role within the Builvero organization.

Remarks

This is a required field and highlights the applicant's qualifications and fit for the role.

Status

Gets or sets the current status of this application in the review process.

public ApplicationStatus Status { get; set; }

Property Value

ApplicationStatus
Represents an application submitted by a user for a volunteer role within the Builvero organization.

Remarks

Applications start as New and progress through Reviewed, then either Accepted or Rejected.