diff --git a/.dev/docker-compose.yml b/.dev/docker-compose.yml
new file mode 100644
index 0000000..c96b426
--- /dev/null
+++ b/.dev/docker-compose.yml
@@ -0,0 +1,21 @@
+version: "3.8"
+name: "keroosha-pechka-template"
+
+services:
+ db:
+ image: postgres:15-alpine
+ environment:
+ POSTGRES_PASSWORD: 'postgres'
+ POSTGRES_INITDB: 'pechka'
+ ports:
+ - "5432:5432"
+ minio:
+ image: quay.io/minio/minio
+ command: server /data --console-address ":19001"
+ environment:
+ # _MINIO_SERVER_DEBUG: 'on'
+ MINIO_ROOT_USER: 'pechka'
+ MINIO_ROOT_PASSWORD: 'pechka'
+ ports:
+ - "19000:9000" # S3 interface
+ - "19001:19001" # Minio console
\ No newline at end of file
diff --git a/Keroosha.Pechka.Web/Keroosha.Pechka.Web.csproj b/Keroosha.Pechka.Web/Keroosha.Pechka.Web.csproj
index 2b14c81..f5e64be 100644
--- a/Keroosha.Pechka.Web/Keroosha.Pechka.Web.csproj
+++ b/Keroosha.Pechka.Web/Keroosha.Pechka.Web.csproj
@@ -7,4 +7,12 @@
enable
+
+
+
+
+
+
+
+
diff --git a/Keroosha.Pechka.Web/Program.cs b/Keroosha.Pechka.Web/Program.cs
index e5dff12..cc1bb7e 100644
--- a/Keroosha.Pechka.Web/Program.cs
+++ b/Keroosha.Pechka.Web/Program.cs
@@ -1,3 +1,40 @@
// See https://aka.ms/new-console-template for more information
-Console.WriteLine("Hello, World!");
\ No newline at end of file
+using Microsoft.AspNetCore.Builder;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Pechka.AspNet;
+
+void ConfigureOptions(IConfiguration configuration, IServiceCollection services)
+{
+ services.AddSingleton(new PechkaConfiguration()
+ {
+ // TypescriptGenerationOptions = (b) => b.DtoClassNamingPolicy = t => t == typeof(Result<>) ? "ResultT" : t.Name,
+ WebAppRoot = "Frontend",
+ WebAppApiPath = "src/api.ts",
+ WebAppBuildPath = "build"
+ });
+}
+
+void ConfigureManagers(IServiceCollection services)
+{
+ services.AddHttpClient();
+}
+
+void ConfigureServices(IConfiguration configuration, IServiceCollection services)
+{
+ ConfigureOptions(configuration, services);
+ ConfigureManagers(services);
+}
+
+void Configure(WebHostBuilderContext context, IApplicationBuilder app)
+{
+
+}
+
+return PechkaProgramBuilder
+ .Create(args)
+ .ConfigureServices(ConfigureServices)
+ .ConfigureApp(Configure)
+ .Run();
\ No newline at end of file
diff --git a/Keroosha.Pechka.Web/config.defaults.json b/Keroosha.Pechka.Web/config.defaults.json
new file mode 100644
index 0000000..28445bb
--- /dev/null
+++ b/Keroosha.Pechka.Web/config.defaults.json
@@ -0,0 +1,5 @@
+{
+ "Database": {
+ "ConnectionString": "Server=127.0.0.1;User id=postgres;password=postgres;database=pechka;Include Error Detail=true"
+ }
+}
\ No newline at end of file
diff --git a/Keroosha.Pechka.sln b/Keroosha.Pechka.sln
index 70027b3..eee3477 100644
--- a/Keroosha.Pechka.sln
+++ b/Keroosha.Pechka.sln
@@ -2,6 +2,10 @@
Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Keroosha.Pechka.Web", "Keroosha.Pechka.Web\Keroosha.Pechka.Web.csproj", "{088B2B77-C3B0-4D80-8437-4E70CA6D8050}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "external", "external", "{50696577-16B1-4013-8338-6A59B77FD676}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pechka.AspNet", "external\Pechka\src\Pechka.AspNet\Pechka.AspNet.csproj", "{28E33EF3-1050-4588-AFE4-D23507BEC28D}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -12,5 +16,12 @@ Global
{088B2B77-C3B0-4D80-8437-4E70CA6D8050}.Debug|Any CPU.Build.0 = Debug|Any CPU
{088B2B77-C3B0-4D80-8437-4E70CA6D8050}.Release|Any CPU.ActiveCfg = Release|Any CPU
{088B2B77-C3B0-4D80-8437-4E70CA6D8050}.Release|Any CPU.Build.0 = Release|Any CPU
+ {28E33EF3-1050-4588-AFE4-D23507BEC28D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {28E33EF3-1050-4588-AFE4-D23507BEC28D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {28E33EF3-1050-4588-AFE4-D23507BEC28D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {28E33EF3-1050-4588-AFE4-D23507BEC28D}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {28E33EF3-1050-4588-AFE4-D23507BEC28D} = {50696577-16B1-4013-8338-6A59B77FD676}
EndGlobalSection
EndGlobal
diff --git a/external/Pechka b/external/Pechka
index d0e913b..4894f81 160000
--- a/external/Pechka
+++ b/external/Pechka
@@ -1 +1 @@
-Subproject commit d0e913b5ec4c788bba101bc2d7f75a177df210ca
+Subproject commit 4894f81f11623eff8c8d4b229a00accb22941434