From 3c6d1b14de7e8a4acbf31f7bd185cdaba29cac54 Mon Sep 17 00:00:00 2001 From: TekH Date: Fri, 9 Oct 2026 15:14:33 +0200 Subject: [PATCH] Add initial ASP.NET Core project structure This commit introduces the initial setup for the DigitalData.TaskFlow solution: - Added `DigitalData.TaskFlow.sln` to organize the project structure into `src`, `presentation`, `core`, and `infrastructure` folders. - Created `DigitalData.TaskFlow.API` project targeting .NET 8.0 with nullable reference types and Swagger/OpenAPI support. - Added `Program.cs` to configure the ASP.NET Core application with services, middleware, and Swagger UI. - Added `launchSettings.json` for development profiles and environment variables. - Added `appsettings.json` and `appsettings.Development.json` for logging and configuration. --- DigitalData.TaskFlow.sln | 36 ++++++++++++++++ .../DigitalData.TaskFlow.API.csproj | 17 ++++++++ .../DigitalData.TaskFlow.API/Program.cs | 25 +++++++++++ .../Properties/launchSettings.json | 41 +++++++++++++++++++ .../appsettings.Development.json | 8 ++++ .../DigitalData.TaskFlow.API/appsettings.json | 9 ++++ 6 files changed, 136 insertions(+) create mode 100644 DigitalData.TaskFlow.sln create mode 100644 src/presentation/DigitalData.TaskFlow.API/DigitalData.TaskFlow.API.csproj create mode 100644 src/presentation/DigitalData.TaskFlow.API/Program.cs create mode 100644 src/presentation/DigitalData.TaskFlow.API/Properties/launchSettings.json create mode 100644 src/presentation/DigitalData.TaskFlow.API/appsettings.Development.json create mode 100644 src/presentation/DigitalData.TaskFlow.API/appsettings.json diff --git a/DigitalData.TaskFlow.sln b/DigitalData.TaskFlow.sln new file mode 100644 index 0000000..bf382e6 --- /dev/null +++ b/DigitalData.TaskFlow.sln @@ -0,0 +1,36 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "presentation", "presentation", "{BC4CBCBB-D810-4AA5-855C-C9E8FDADA008}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "core", "core", "{06231918-0EB3-49B0-B6CA-2A441D58B02F}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "infrastructure", "infrastructure", "{FD60D353-ABC5-4C93-92E5-069EE28B452E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DigitalData.TaskFlow.API", "src\presentation\DigitalData.TaskFlow.API\DigitalData.TaskFlow.API.csproj", "{DAECF4CE-7AE3-4DBE-8D32-F5F2B4EC8AEC}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DAECF4CE-7AE3-4DBE-8D32-F5F2B4EC8AEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DAECF4CE-7AE3-4DBE-8D32-F5F2B4EC8AEC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DAECF4CE-7AE3-4DBE-8D32-F5F2B4EC8AEC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DAECF4CE-7AE3-4DBE-8D32-F5F2B4EC8AEC}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {BC4CBCBB-D810-4AA5-855C-C9E8FDADA008} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {06231918-0EB3-49B0-B6CA-2A441D58B02F} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {FD60D353-ABC5-4C93-92E5-069EE28B452E} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {DAECF4CE-7AE3-4DBE-8D32-F5F2B4EC8AEC} = {BC4CBCBB-D810-4AA5-855C-C9E8FDADA008} + EndGlobalSection +EndGlobal diff --git a/src/presentation/DigitalData.TaskFlow.API/DigitalData.TaskFlow.API.csproj b/src/presentation/DigitalData.TaskFlow.API/DigitalData.TaskFlow.API.csproj new file mode 100644 index 0000000..0c56541 --- /dev/null +++ b/src/presentation/DigitalData.TaskFlow.API/DigitalData.TaskFlow.API.csproj @@ -0,0 +1,17 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + diff --git a/src/presentation/DigitalData.TaskFlow.API/Program.cs b/src/presentation/DigitalData.TaskFlow.API/Program.cs new file mode 100644 index 0000000..48863a6 --- /dev/null +++ b/src/presentation/DigitalData.TaskFlow.API/Program.cs @@ -0,0 +1,25 @@ +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. + +builder.Services.AddControllers(); +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.UseAuthorization(); + +app.MapControllers(); + +app.Run(); diff --git a/src/presentation/DigitalData.TaskFlow.API/Properties/launchSettings.json b/src/presentation/DigitalData.TaskFlow.API/Properties/launchSettings.json new file mode 100644 index 0000000..01c7ca3 --- /dev/null +++ b/src/presentation/DigitalData.TaskFlow.API/Properties/launchSettings.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:3557", + "sslPort": 44339 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5298", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "https://localhost:7049;http://localhost:5298", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/src/presentation/DigitalData.TaskFlow.API/appsettings.Development.json b/src/presentation/DigitalData.TaskFlow.API/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/src/presentation/DigitalData.TaskFlow.API/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/src/presentation/DigitalData.TaskFlow.API/appsettings.json b/src/presentation/DigitalData.TaskFlow.API/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/src/presentation/DigitalData.TaskFlow.API/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +}