New43Arch Documentation

Learn how to customize framework configuration, work with repositories, build services and expose APIs through controllers.

Configuration Add-ons Repositories Services Controllers

Recommended Workflow

Default framework configuration is already included. Feature development typically follows:

1

Entity

2

Repository

3

Service

4

Controller

Framework Core Configuration

New43Arch includes default framework core configuration out of the box. This section explains how to customize the default behavior when needed.

Included By Default

What You Can Customize

Identity Rules

Customize password policies, email requirements and lockout rules.

Database Connection

Change the connection string or database settings.

License Settings

Configure license options from appsettings.

Manual Customization

Customize Core Configuration

Example Customized Configuration

        
services.AddDataAccessCoreSqlServer<New43ArchDefaultDbContext, New43ArchUser, New43ArchRole, string>(
 connectionString, licenseOptions,
 options =>
 {
   options.Password.RequiredLength = 8;
   options.Lockout.MaxFailedAccessAttempts = 5;
 },
 builder =>
 {
   builder.AddDefaultTokenProviders();
 }
);

Customization Guidance

Working With Repositories

Repositories encapsulate persistence concerns, support CRUD operations, paged retrieval and UnitOfWork integration.

Copilot Method

Generate Repository With Copilot

Generate Customer repository using New43Arch conventions. Include Entity, Repository, DI and UnitOfWork.
Manual Method

Create Repository Manually

  • ✔ Create Entity
  • ✔ Create PagedEntity
  • ✔ Create Repository
  • ✔ Register in DI
  • ✔ Add to UnitOfWork

Working With Services

Copilot Method

Generate Service With Copilot

Generate Customer service using New43Arch conventions. Include IService, implementation and ServiceRegistration.
Manual Method

Create Service Manually

  • ✔ Create IService
  • ✔ Create Service Class
  • ✔ Register in ServiceRegistration

Working With Controllers

Copilot Method

Generate Controller With Copilot

Generate Customer controller using New43Arch conventions. Create endpoints for all IService methods.
Manual Method

Create Controller Manually

  • ✔ Create Controller
  • ✔ Inject IService
  • ✔ Add endpoints
  • ✔ Delegate to service layer

Add-ons Configuration

Configure optional add-ons using the provided extension methods and settings.

JobFlow Configuration


 public static void ConfigureJobFlow(this IServiceCollection services,
     ConfigurationManager config)
 {
     services.AddJobFlow(jobFlow =>
     {                
         var licenseOptions = config.GetSection("New43ArchJobFlowLicense")
             .Get();
         jobFlow.UseLicense(license => licenseOptions);
         jobFlow.UseHangfire(options =>
         {
             options.ConnectionString = config.GetConnectionString("DefaultConnection") ?? "";
         });
     });
 }
    
  • ✔ License configuration
  • ✔ Hangfire integration
  • ✔ Background processing

Add-on Guidance