diff --git a/Joaquin-API.png b/Joaquin-API.png
new file mode 100644
index 0000000..f37812a
Binary files /dev/null and b/Joaquin-API.png differ
diff --git a/Joaquin-Backend.png b/Joaquin-Backend.png
new file mode 100644
index 0000000..f447f6d
Binary files /dev/null and b/Joaquin-Backend.png differ
diff --git a/Joaquin-Database.png b/Joaquin-Database.png
new file mode 100644
index 0000000..1411419
Binary files /dev/null and b/Joaquin-Database.png differ
diff --git a/Joaquin-Frontend.png b/Joaquin-Frontend.png
new file mode 100644
index 0000000..6342e30
Binary files /dev/null and b/Joaquin-Frontend.png differ
diff --git a/exercise.wwwapi/Migrations/20241011072129_First.Designer.cs b/exercise.wwwapi/Migrations/20241011072129_First.Designer.cs
new file mode 100644
index 0000000..7ce04bd
--- /dev/null
+++ b/exercise.wwwapi/Migrations/20241011072129_First.Designer.cs
@@ -0,0 +1,69 @@
+//
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+using exercise.wwwapi.DataContext;
+
+#nullable disable
+
+namespace exercise.wwwapi.Migrations
+{
+ [DbContext(typeof(TodoContext))]
+ [Migration("20241011072129_First")]
+ partial class First
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "8.0.10")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("exercise.wwwapi.Models.Todo", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Completed")
+ .HasColumnType("boolean");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.ToTable("Todos");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Completed = true,
+ Title = "First task"
+ },
+ new
+ {
+ Id = 2,
+ Completed = false,
+ Title = "Second task"
+ },
+ new
+ {
+ Id = 3,
+ Completed = true,
+ Title = "Third task"
+ });
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/exercise.wwwapi/Migrations/20241011072129_First.cs b/exercise.wwwapi/Migrations/20241011072129_First.cs
new file mode 100644
index 0000000..84924a9
--- /dev/null
+++ b/exercise.wwwapi/Migrations/20241011072129_First.cs
@@ -0,0 +1,22 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace exercise.wwwapi.Migrations
+{
+ ///
+ public partial class First : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+
+ }
+ }
+}
diff --git a/exercise.wwwapi/_example.appsettings.json b/exercise.wwwapi/_example.appsettings.json
deleted file mode 100644
index d70383d..0000000
--- a/exercise.wwwapi/_example.appsettings.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "AllowedHosts": "*",
- "ConnectionStrings": {
- "DefaultConnection": "Host=HOST;Port=5432;Database=CHOSEN_DB_NAME;User Id=postgres;Password=POSTGRES_PWD"
- }
-}
diff --git a/exercise.wwwapi/out/Microsoft.AspNetCore.OpenApi.dll b/exercise.wwwapi/out/Microsoft.AspNetCore.OpenApi.dll
new file mode 100644
index 0000000..1df70d4
Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.AspNetCore.OpenApi.dll differ
diff --git a/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.Abstractions.dll b/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.Abstractions.dll
new file mode 100644
index 0000000..2169cf8
Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.Abstractions.dll differ
diff --git a/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.Relational.dll b/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.Relational.dll
new file mode 100644
index 0000000..f8c58d0
Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.Relational.dll differ
diff --git a/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.dll b/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.dll
new file mode 100644
index 0000000..b628ed6
Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.dll differ
diff --git a/exercise.wwwapi/out/Microsoft.Extensions.Caching.Memory.dll b/exercise.wwwapi/out/Microsoft.Extensions.Caching.Memory.dll
new file mode 100644
index 0000000..077b1b6
Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.Extensions.Caching.Memory.dll differ
diff --git a/exercise.wwwapi/out/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/exercise.wwwapi/out/Microsoft.Extensions.DependencyInjection.Abstractions.dll
new file mode 100644
index 0000000..81ed3de
Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.Extensions.DependencyInjection.Abstractions.dll differ
diff --git a/exercise.wwwapi/out/Microsoft.Extensions.DependencyInjection.dll b/exercise.wwwapi/out/Microsoft.Extensions.DependencyInjection.dll
new file mode 100644
index 0000000..bd71a2b
Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.Extensions.DependencyInjection.dll differ
diff --git a/exercise.wwwapi/out/Microsoft.Extensions.Logging.Abstractions.dll b/exercise.wwwapi/out/Microsoft.Extensions.Logging.Abstractions.dll
new file mode 100644
index 0000000..f9d1dc6
Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.Extensions.Logging.Abstractions.dll differ
diff --git a/exercise.wwwapi/out/Microsoft.Extensions.Logging.dll b/exercise.wwwapi/out/Microsoft.Extensions.Logging.dll
new file mode 100644
index 0000000..35905b6
Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.Extensions.Logging.dll differ
diff --git a/exercise.wwwapi/out/Microsoft.Extensions.Options.dll b/exercise.wwwapi/out/Microsoft.Extensions.Options.dll
new file mode 100644
index 0000000..a7b3f21
Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.Extensions.Options.dll differ
diff --git a/exercise.wwwapi/out/Microsoft.OpenApi.dll b/exercise.wwwapi/out/Microsoft.OpenApi.dll
new file mode 100644
index 0000000..1e0998d
Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.OpenApi.dll differ
diff --git a/exercise.wwwapi/out/MyApi.zip b/exercise.wwwapi/out/MyApi.zip
new file mode 100644
index 0000000..a2272e6
Binary files /dev/null and b/exercise.wwwapi/out/MyApi.zip differ
diff --git a/exercise.wwwapi/out/Newtonsoft.Json.dll b/exercise.wwwapi/out/Newtonsoft.Json.dll
new file mode 100644
index 0000000..d035c38
Binary files /dev/null and b/exercise.wwwapi/out/Newtonsoft.Json.dll differ
diff --git a/exercise.wwwapi/out/Npgsql.EntityFrameworkCore.PostgreSQL.dll b/exercise.wwwapi/out/Npgsql.EntityFrameworkCore.PostgreSQL.dll
new file mode 100644
index 0000000..042c1f0
Binary files /dev/null and b/exercise.wwwapi/out/Npgsql.EntityFrameworkCore.PostgreSQL.dll differ
diff --git a/exercise.wwwapi/out/Npgsql.dll b/exercise.wwwapi/out/Npgsql.dll
new file mode 100644
index 0000000..c0eb4d9
Binary files /dev/null and b/exercise.wwwapi/out/Npgsql.dll differ
diff --git a/exercise.wwwapi/out/Swashbuckle.AspNetCore.Swagger.dll b/exercise.wwwapi/out/Swashbuckle.AspNetCore.Swagger.dll
new file mode 100644
index 0000000..e9b8cf7
Binary files /dev/null and b/exercise.wwwapi/out/Swashbuckle.AspNetCore.Swagger.dll differ
diff --git a/exercise.wwwapi/out/Swashbuckle.AspNetCore.SwaggerGen.dll b/exercise.wwwapi/out/Swashbuckle.AspNetCore.SwaggerGen.dll
new file mode 100644
index 0000000..68e38a2
Binary files /dev/null and b/exercise.wwwapi/out/Swashbuckle.AspNetCore.SwaggerGen.dll differ
diff --git a/exercise.wwwapi/out/Swashbuckle.AspNetCore.SwaggerUI.dll b/exercise.wwwapi/out/Swashbuckle.AspNetCore.SwaggerUI.dll
new file mode 100644
index 0000000..9c52aed
Binary files /dev/null and b/exercise.wwwapi/out/Swashbuckle.AspNetCore.SwaggerUI.dll differ
diff --git a/exercise.wwwapi/out/exercise.wwwapi.deps.json b/exercise.wwwapi/out/exercise.wwwapi.deps.json
new file mode 100644
index 0000000..6b2031e
--- /dev/null
+++ b/exercise.wwwapi/out/exercise.wwwapi.deps.json
@@ -0,0 +1,668 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v8.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v8.0": {
+ "exercise.wwwapi/1.0.0": {
+ "dependencies": {
+ "Microsoft.AspNetCore.OpenApi": "8.0.6",
+ "Microsoft.EntityFrameworkCore.Tools": "8.0.10",
+ "Npgsql.EntityFrameworkCore.PostgreSQL": "8.0.8",
+ "Swashbuckle.AspNetCore": "6.4.0",
+ "Newtonsoft.Json": "13.0.3"
+ },
+ "runtime": {
+ "exercise.wwwapi.dll": {}
+ }
+ },
+ "Humanizer.Core/2.14.1": {},
+ "Microsoft.AspNetCore.OpenApi/8.0.6": {
+ "dependencies": {
+ "Microsoft.OpenApi": "1.4.3"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.AspNetCore.OpenApi.dll": {
+ "assemblyVersion": "8.0.6.0",
+ "fileVersion": "8.0.624.26909"
+ }
+ }
+ },
+ "Microsoft.Bcl.AsyncInterfaces/6.0.0": {},
+ "Microsoft.CodeAnalysis.Analyzers/3.3.3": {},
+ "Microsoft.CodeAnalysis.Common/4.5.0": {
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "3.3.3",
+ "System.Collections.Immutable": "6.0.0",
+ "System.Reflection.Metadata": "6.0.1",
+ "System.Runtime.CompilerServices.Unsafe": "6.0.0",
+ "System.Text.Encoding.CodePages": "6.0.0"
+ }
+ },
+ "Microsoft.CodeAnalysis.CSharp/4.5.0": {
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Common": "4.5.0"
+ }
+ },
+ "Microsoft.CodeAnalysis.CSharp.Workspaces/4.5.0": {
+ "dependencies": {
+ "Humanizer.Core": "2.14.1",
+ "Microsoft.CodeAnalysis.CSharp": "4.5.0",
+ "Microsoft.CodeAnalysis.Common": "4.5.0",
+ "Microsoft.CodeAnalysis.Workspaces.Common": "4.5.0"
+ }
+ },
+ "Microsoft.CodeAnalysis.Workspaces.Common/4.5.0": {
+ "dependencies": {
+ "Humanizer.Core": "2.14.1",
+ "Microsoft.Bcl.AsyncInterfaces": "6.0.0",
+ "Microsoft.CodeAnalysis.Common": "4.5.0",
+ "System.Composition": "6.0.0",
+ "System.IO.Pipelines": "6.0.3",
+ "System.Threading.Channels": "6.0.0"
+ }
+ },
+ "Microsoft.EntityFrameworkCore/8.0.10": {
+ "dependencies": {
+ "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10",
+ "Microsoft.EntityFrameworkCore.Analyzers": "8.0.10",
+ "Microsoft.Extensions.Caching.Memory": "8.0.1",
+ "Microsoft.Extensions.Logging": "8.0.1"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.EntityFrameworkCore.dll": {
+ "assemblyVersion": "8.0.10.0",
+ "fileVersion": "8.0.1024.46708"
+ }
+ }
+ },
+ "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": {
+ "runtime": {
+ "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
+ "assemblyVersion": "8.0.10.0",
+ "fileVersion": "8.0.1024.46708"
+ }
+ }
+ },
+ "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": {},
+ "Microsoft.EntityFrameworkCore.Design/8.0.10": {
+ "dependencies": {
+ "Humanizer.Core": "2.14.1",
+ "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.5.0",
+ "Microsoft.EntityFrameworkCore.Relational": "8.0.10",
+ "Microsoft.Extensions.DependencyModel": "8.0.2",
+ "Mono.TextTemplating": "2.2.1"
+ }
+ },
+ "Microsoft.EntityFrameworkCore.Relational/8.0.10": {
+ "dependencies": {
+ "Microsoft.EntityFrameworkCore": "8.0.10",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": {
+ "assemblyVersion": "8.0.10.0",
+ "fileVersion": "8.0.1024.46708"
+ }
+ }
+ },
+ "Microsoft.EntityFrameworkCore.Tools/8.0.10": {
+ "dependencies": {
+ "Microsoft.EntityFrameworkCore.Design": "8.0.10"
+ }
+ },
+ "Microsoft.Extensions.ApiDescription.Server/6.0.5": {},
+ "Microsoft.Extensions.Caching.Abstractions/8.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Caching.Memory/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.Caching.Abstractions": "8.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions/8.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": {
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.DependencyModel/8.0.2": {},
+ "Microsoft.Extensions.Logging/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions/8.0.2": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.Options/8.0.2": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Options.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.224.6711"
+ }
+ }
+ },
+ "Microsoft.Extensions.Primitives/8.0.0": {},
+ "Microsoft.OpenApi/1.4.3": {
+ "runtime": {
+ "lib/netstandard2.0/Microsoft.OpenApi.dll": {
+ "assemblyVersion": "1.4.3.0",
+ "fileVersion": "1.4.3.0"
+ }
+ }
+ },
+ "Mono.TextTemplating/2.2.1": {
+ "dependencies": {
+ "System.CodeDom": "4.4.0"
+ }
+ },
+ "Newtonsoft.Json/13.0.3": {
+ "runtime": {
+ "lib/net6.0/Newtonsoft.Json.dll": {
+ "assemblyVersion": "13.0.0.0",
+ "fileVersion": "13.0.3.27908"
+ }
+ }
+ },
+ "Npgsql/8.0.4": {
+ "dependencies": {
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Npgsql.dll": {
+ "assemblyVersion": "8.0.4.0",
+ "fileVersion": "8.0.4.0"
+ }
+ }
+ },
+ "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.8": {
+ "dependencies": {
+ "Microsoft.EntityFrameworkCore": "8.0.10",
+ "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10",
+ "Microsoft.EntityFrameworkCore.Relational": "8.0.10",
+ "Npgsql": "8.0.4"
+ },
+ "runtime": {
+ "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": {
+ "assemblyVersion": "8.0.8.0",
+ "fileVersion": "8.0.8.0"
+ }
+ }
+ },
+ "Swashbuckle.AspNetCore/6.4.0": {
+ "dependencies": {
+ "Microsoft.Extensions.ApiDescription.Server": "6.0.5",
+ "Swashbuckle.AspNetCore.Swagger": "6.4.0",
+ "Swashbuckle.AspNetCore.SwaggerGen": "6.4.0",
+ "Swashbuckle.AspNetCore.SwaggerUI": "6.4.0"
+ }
+ },
+ "Swashbuckle.AspNetCore.Swagger/6.4.0": {
+ "dependencies": {
+ "Microsoft.OpenApi": "1.4.3"
+ },
+ "runtime": {
+ "lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll": {
+ "assemblyVersion": "6.4.0.0",
+ "fileVersion": "6.4.0.0"
+ }
+ }
+ },
+ "Swashbuckle.AspNetCore.SwaggerGen/6.4.0": {
+ "dependencies": {
+ "Swashbuckle.AspNetCore.Swagger": "6.4.0"
+ },
+ "runtime": {
+ "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
+ "assemblyVersion": "6.4.0.0",
+ "fileVersion": "6.4.0.0"
+ }
+ }
+ },
+ "Swashbuckle.AspNetCore.SwaggerUI/6.4.0": {
+ "runtime": {
+ "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
+ "assemblyVersion": "6.4.0.0",
+ "fileVersion": "6.4.0.0"
+ }
+ }
+ },
+ "System.CodeDom/4.4.0": {},
+ "System.Collections.Immutable/6.0.0": {
+ "dependencies": {
+ "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+ }
+ },
+ "System.Composition/6.0.0": {
+ "dependencies": {
+ "System.Composition.AttributedModel": "6.0.0",
+ "System.Composition.Convention": "6.0.0",
+ "System.Composition.Hosting": "6.0.0",
+ "System.Composition.Runtime": "6.0.0",
+ "System.Composition.TypedParts": "6.0.0"
+ }
+ },
+ "System.Composition.AttributedModel/6.0.0": {},
+ "System.Composition.Convention/6.0.0": {
+ "dependencies": {
+ "System.Composition.AttributedModel": "6.0.0"
+ }
+ },
+ "System.Composition.Hosting/6.0.0": {
+ "dependencies": {
+ "System.Composition.Runtime": "6.0.0"
+ }
+ },
+ "System.Composition.Runtime/6.0.0": {},
+ "System.Composition.TypedParts/6.0.0": {
+ "dependencies": {
+ "System.Composition.AttributedModel": "6.0.0",
+ "System.Composition.Hosting": "6.0.0",
+ "System.Composition.Runtime": "6.0.0"
+ }
+ },
+ "System.IO.Pipelines/6.0.3": {},
+ "System.Reflection.Metadata/6.0.1": {
+ "dependencies": {
+ "System.Collections.Immutable": "6.0.0"
+ }
+ },
+ "System.Runtime.CompilerServices.Unsafe/6.0.0": {},
+ "System.Text.Encoding.CodePages/6.0.0": {
+ "dependencies": {
+ "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+ }
+ },
+ "System.Threading.Channels/6.0.0": {}
+ }
+ },
+ "libraries": {
+ "exercise.wwwapi/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Humanizer.Core/2.14.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==",
+ "path": "humanizer.core/2.14.1",
+ "hashPath": "humanizer.core.2.14.1.nupkg.sha512"
+ },
+ "Microsoft.AspNetCore.OpenApi/8.0.6": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-G0Qdo5ZtxmBFZ41CFRopZbSVeS/xwezmqZE0vLYcggoB7EEsPOUKSWnSrJPC2C+02iANAnnq6bSMIlKBgdqCmA==",
+ "path": "microsoft.aspnetcore.openapi/8.0.6",
+ "hashPath": "microsoft.aspnetcore.openapi.8.0.6.nupkg.sha512"
+ },
+ "Microsoft.Bcl.AsyncInterfaces/6.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==",
+ "path": "microsoft.bcl.asyncinterfaces/6.0.0",
+ "hashPath": "microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512"
+ },
+ "Microsoft.CodeAnalysis.Analyzers/3.3.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==",
+ "path": "microsoft.codeanalysis.analyzers/3.3.3",
+ "hashPath": "microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512"
+ },
+ "Microsoft.CodeAnalysis.Common/4.5.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-lwAbIZNdnY0SUNoDmZHkVUwLO8UyNnyyh1t/4XsbFxi4Ounb3xszIYZaWhyj5ZjyfcwqwmtMbE7fUTVCqQEIdQ==",
+ "path": "microsoft.codeanalysis.common/4.5.0",
+ "hashPath": "microsoft.codeanalysis.common.4.5.0.nupkg.sha512"
+ },
+ "Microsoft.CodeAnalysis.CSharp/4.5.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-cM59oMKAOxvdv76bdmaKPy5hfj+oR+zxikWoueEB7CwTko7mt9sVKZI8Qxlov0C/LuKEG+WQwifepqL3vuTiBQ==",
+ "path": "microsoft.codeanalysis.csharp/4.5.0",
+ "hashPath": "microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512"
+ },
+ "Microsoft.CodeAnalysis.CSharp.Workspaces/4.5.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-h74wTpmGOp4yS4hj+EvNzEiPgg/KVs2wmSfTZ81upJZOtPkJsVkgfsgtxxqmAeapjT/vLKfmYV0bS8n5MNVP+g==",
+ "path": "microsoft.codeanalysis.csharp.workspaces/4.5.0",
+ "hashPath": "microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512"
+ },
+ "Microsoft.CodeAnalysis.Workspaces.Common/4.5.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-l4dDRmGELXG72XZaonnOeORyD/T5RpEu5LGHOUIhnv+MmUWDY/m1kWXGwtcgQ5CJ5ynkFiRnIYzTKXYjUs7rbw==",
+ "path": "microsoft.codeanalysis.workspaces.common/4.5.0",
+ "hashPath": "microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512"
+ },
+ "Microsoft.EntityFrameworkCore/8.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-PPkQdIqfR1nU3n6YgGGDk8G+eaYbaAKM1AzIQtlPNTKf10Osg3N9T+iK9AlnSA/ujsK00flPpFHVfJrbuBFS1A==",
+ "path": "microsoft.entityframeworkcore/8.0.10",
+ "hashPath": "microsoft.entityframeworkcore.8.0.10.nupkg.sha512"
+ },
+ "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-FV0QlcX9INY4kAD2o72uPtyOh0nZut2jB11Jf9mNYBtHay8gDLe+x4AbXFwuQg+eSvofjT7naV82e827zGfyMg==",
+ "path": "microsoft.entityframeworkcore.abstractions/8.0.10",
+ "hashPath": "microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512"
+ },
+ "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-51KkPIc0EMv/gVXhPIUi6cwJE9Mvh+PLr4Lap4naLcsoGZ0lF2SvOPgUUprwRV3MnN7nyD1XPhT5RJ/p+xFAXw==",
+ "path": "microsoft.entityframeworkcore.analyzers/8.0.10",
+ "hashPath": "microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512"
+ },
+ "Microsoft.EntityFrameworkCore.Design/8.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-uGNjfKvAsql2KHRqxlK5wHo8mMC60G/FecrFKEjJgeIxtUAbSXGOgKGw/gD9flO5Fzzt1C7uxfIcr6ZsMmFkeg==",
+ "path": "microsoft.entityframeworkcore.design/8.0.10",
+ "hashPath": "microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512"
+ },
+ "Microsoft.EntityFrameworkCore.Relational/8.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-OefBEE47kGKPRPV3OT+FAW6o5BFgLk2D9EoeWVy7NbOepzUneayLQxbVE098FfedTyMwxvZQoDD9LrvZc3MadA==",
+ "path": "microsoft.entityframeworkcore.relational/8.0.10",
+ "hashPath": "microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512"
+ },
+ "Microsoft.EntityFrameworkCore.Tools/8.0.10": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-aaimNUjkJDHdZb2hxd6hjwz7OdeankbQHPx8/b+qCfVfaEpOAIW0LTBge4qG+AUKacKfcoK7GJq6ACjenEvPLQ==",
+ "path": "microsoft.entityframeworkcore.tools/8.0.10",
+ "hashPath": "microsoft.entityframeworkcore.tools.8.0.10.nupkg.sha512"
+ },
+ "Microsoft.Extensions.ApiDescription.Server/6.0.5": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==",
+ "path": "microsoft.extensions.apidescription.server/6.0.5",
+ "hashPath": "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Caching.Abstractions/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==",
+ "path": "microsoft.extensions.caching.abstractions/8.0.0",
+ "hashPath": "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Caching.Memory/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==",
+ "path": "microsoft.extensions.caching.memory/8.0.1",
+ "hashPath": "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Configuration.Abstractions/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==",
+ "path": "microsoft.extensions.configuration.abstractions/8.0.0",
+ "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.DependencyInjection/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==",
+ "path": "microsoft.extensions.dependencyinjection/8.0.1",
+ "hashPath": "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==",
+ "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2",
+ "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512"
+ },
+ "Microsoft.Extensions.DependencyModel/8.0.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-mUBDZZRgZrSyFOsJ2qJJ9fXfqd/kXJwf3AiDoqLD9m6TjY5OO/vLNOb9fb4juC0487eq4hcGN/M2Rh/CKS7QYw==",
+ "path": "microsoft.extensions.dependencymodel/8.0.2",
+ "hashPath": "microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Logging/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==",
+ "path": "microsoft.extensions.logging/8.0.1",
+ "hashPath": "microsoft.extensions.logging.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Logging.Abstractions/8.0.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==",
+ "path": "microsoft.extensions.logging.abstractions/8.0.2",
+ "hashPath": "microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Options/8.0.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==",
+ "path": "microsoft.extensions.options/8.0.2",
+ "hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Primitives/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==",
+ "path": "microsoft.extensions.primitives/8.0.0",
+ "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512"
+ },
+ "Microsoft.OpenApi/1.4.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-rURwggB+QZYcSVbDr7HSdhw/FELvMlriW10OeOzjPT7pstefMo7IThhtNtDudxbXhW+lj0NfX72Ka5EDsG8x6w==",
+ "path": "microsoft.openapi/1.4.3",
+ "hashPath": "microsoft.openapi.1.4.3.nupkg.sha512"
+ },
+ "Mono.TextTemplating/2.2.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-KZYeKBET/2Z0gY1WlTAK7+RHTl7GSbtvTLDXEZZojUdAPqpQNDL6tHv7VUpqfX5VEOh+uRGKaZXkuD253nEOBQ==",
+ "path": "mono.texttemplating/2.2.1",
+ "hashPath": "mono.texttemplating.2.2.1.nupkg.sha512"
+ },
+ "Newtonsoft.Json/13.0.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
+ "path": "newtonsoft.json/13.0.3",
+ "hashPath": "newtonsoft.json.13.0.3.nupkg.sha512"
+ },
+ "Npgsql/8.0.4": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-vaYEUlF/pB9m8bs21wQv3Da0kMHT4A9USe47VfY/L2BO97xz5KfIxhEu22QS9d68ZrLxvtL3wQDfDLPr2OjbjA==",
+ "path": "npgsql/8.0.4",
+ "hashPath": "npgsql.8.0.4.nupkg.sha512"
+ },
+ "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.8": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-D5WWJZJTgZYUmGv66BARXbTlinp2a5f5RueJqGYoHuWJw02J0i2va/RA+8N4A5hLORK5YKMRqXhFWtKsZdrksw==",
+ "path": "npgsql.entityframeworkcore.postgresql/8.0.8",
+ "hashPath": "npgsql.entityframeworkcore.postgresql.8.0.8.nupkg.sha512"
+ },
+ "Swashbuckle.AspNetCore/6.4.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-eUBr4TW0up6oKDA5Xwkul289uqSMgY0xGN4pnbOIBqCcN9VKGGaPvHX3vWaG/hvocfGDP+MGzMA0bBBKz2fkmQ==",
+ "path": "swashbuckle.aspnetcore/6.4.0",
+ "hashPath": "swashbuckle.aspnetcore.6.4.0.nupkg.sha512"
+ },
+ "Swashbuckle.AspNetCore.Swagger/6.4.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-nl4SBgGM+cmthUcpwO/w1lUjevdDHAqRvfUoe4Xp/Uvuzt9mzGUwyFCqa3ODBAcZYBiFoKvrYwz0rabslJvSmQ==",
+ "path": "swashbuckle.aspnetcore.swagger/6.4.0",
+ "hashPath": "swashbuckle.aspnetcore.swagger.6.4.0.nupkg.sha512"
+ },
+ "Swashbuckle.AspNetCore.SwaggerGen/6.4.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-lXhcUBVqKrPFAQF7e/ZeDfb5PMgE8n5t6L5B6/BQSpiwxgHzmBcx8Msu42zLYFTvR5PIqE9Q9lZvSQAcwCxJjw==",
+ "path": "swashbuckle.aspnetcore.swaggergen/6.4.0",
+ "hashPath": "swashbuckle.aspnetcore.swaggergen.6.4.0.nupkg.sha512"
+ },
+ "Swashbuckle.AspNetCore.SwaggerUI/6.4.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-1Hh3atb3pi8c+v7n4/3N80Jj8RvLOXgWxzix6w3OZhB7zBGRwsy7FWr4e3hwgPweSBpwfElqj4V4nkjYabH9nQ==",
+ "path": "swashbuckle.aspnetcore.swaggerui/6.4.0",
+ "hashPath": "swashbuckle.aspnetcore.swaggerui.6.4.0.nupkg.sha512"
+ },
+ "System.CodeDom/4.4.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==",
+ "path": "system.codedom/4.4.0",
+ "hashPath": "system.codedom.4.4.0.nupkg.sha512"
+ },
+ "System.Collections.Immutable/6.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==",
+ "path": "system.collections.immutable/6.0.0",
+ "hashPath": "system.collections.immutable.6.0.0.nupkg.sha512"
+ },
+ "System.Composition/6.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-d7wMuKQtfsxUa7S13tITC8n1cQzewuhD5iDjZtK2prwFfKVzdYtgrTHgjaV03Zq7feGQ5gkP85tJJntXwInsJA==",
+ "path": "system.composition/6.0.0",
+ "hashPath": "system.composition.6.0.0.nupkg.sha512"
+ },
+ "System.Composition.AttributedModel/6.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-WK1nSDLByK/4VoC7fkNiFuTVEiperuCN/Hyn+VN30R+W2ijO1d0Z2Qm0ScEl9xkSn1G2MyapJi8xpf4R8WRa/w==",
+ "path": "system.composition.attributedmodel/6.0.0",
+ "hashPath": "system.composition.attributedmodel.6.0.0.nupkg.sha512"
+ },
+ "System.Composition.Convention/6.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-XYi4lPRdu5bM4JVJ3/UIHAiG6V6lWWUlkhB9ab4IOq0FrRsp0F4wTyV4Dj+Ds+efoXJ3qbLqlvaUozDO7OLeXA==",
+ "path": "system.composition.convention/6.0.0",
+ "hashPath": "system.composition.convention.6.0.0.nupkg.sha512"
+ },
+ "System.Composition.Hosting/6.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-w/wXjj7kvxuHPLdzZ0PAUt++qJl03t7lENmb2Oev0n3zbxyNULbWBlnd5J5WUMMv15kg5o+/TCZFb6lSwfaUUQ==",
+ "path": "system.composition.hosting/6.0.0",
+ "hashPath": "system.composition.hosting.6.0.0.nupkg.sha512"
+ },
+ "System.Composition.Runtime/6.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-qkRH/YBaMPTnzxrS5RDk1juvqed4A6HOD/CwRcDGyPpYps1J27waBddiiq1y93jk2ZZ9wuA/kynM+NO0kb3PKg==",
+ "path": "system.composition.runtime/6.0.0",
+ "hashPath": "system.composition.runtime.6.0.0.nupkg.sha512"
+ },
+ "System.Composition.TypedParts/6.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-iUR1eHrL8Cwd82neQCJ00MpwNIBs4NZgXzrPqx8NJf/k4+mwBO0XCRmHYJT4OLSwDDqh5nBLJWkz5cROnrGhRA==",
+ "path": "system.composition.typedparts/6.0.0",
+ "hashPath": "system.composition.typedparts.6.0.0.nupkg.sha512"
+ },
+ "System.IO.Pipelines/6.0.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-ryTgF+iFkpGZY1vRQhfCzX0xTdlV3pyaTTqRu2ETbEv+HlV7O6y7hyQURnghNIXvctl5DuZ//Dpks6HdL/Txgw==",
+ "path": "system.io.pipelines/6.0.3",
+ "hashPath": "system.io.pipelines.6.0.3.nupkg.sha512"
+ },
+ "System.Reflection.Metadata/6.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-III/lNMSn0ZRBuM9m5Cgbiho5j81u0FAEagFX5ta2DKbljZ3T0IpD8j+BIiHQPeKqJppWS9bGEp6JnKnWKze0g==",
+ "path": "system.reflection.metadata/6.0.1",
+ "hashPath": "system.reflection.metadata.6.0.1.nupkg.sha512"
+ },
+ "System.Runtime.CompilerServices.Unsafe/6.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
+ "path": "system.runtime.compilerservices.unsafe/6.0.0",
+ "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
+ },
+ "System.Text.Encoding.CodePages/6.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-ZFCILZuOvtKPauZ/j/swhvw68ZRi9ATCfvGbk1QfydmcXBkIWecWKn/250UH7rahZ5OoDBaiAudJtPvLwzw85A==",
+ "path": "system.text.encoding.codepages/6.0.0",
+ "hashPath": "system.text.encoding.codepages.6.0.0.nupkg.sha512"
+ },
+ "System.Threading.Channels/6.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==",
+ "path": "system.threading.channels/6.0.0",
+ "hashPath": "system.threading.channels.6.0.0.nupkg.sha512"
+ }
+ }
+}
\ No newline at end of file
diff --git a/exercise.wwwapi/out/exercise.wwwapi.dll b/exercise.wwwapi/out/exercise.wwwapi.dll
new file mode 100644
index 0000000..83d3570
Binary files /dev/null and b/exercise.wwwapi/out/exercise.wwwapi.dll differ
diff --git a/exercise.wwwapi/out/exercise.wwwapi.exe b/exercise.wwwapi/out/exercise.wwwapi.exe
new file mode 100644
index 0000000..77a3fb2
Binary files /dev/null and b/exercise.wwwapi/out/exercise.wwwapi.exe differ
diff --git a/exercise.wwwapi/out/exercise.wwwapi.runtimeconfig.json b/exercise.wwwapi/out/exercise.wwwapi.runtimeconfig.json
new file mode 100644
index 0000000..ffac358
--- /dev/null
+++ b/exercise.wwwapi/out/exercise.wwwapi.runtimeconfig.json
@@ -0,0 +1,21 @@
+{
+ "runtimeOptions": {
+ "tfm": "net8.0",
+ "frameworks": [
+ {
+ "name": "Microsoft.NETCore.App",
+ "version": "8.0.0"
+ },
+ {
+ "name": "Microsoft.AspNetCore.App",
+ "version": "8.0.0"
+ }
+ ],
+ "configProperties": {
+ "System.GC.Server": true,
+ "System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
+ "System.Reflection.NullabilityInfoContext.IsSupported": true,
+ "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/exercise.wwwapi/out/web.config b/exercise.wwwapi/out/web.config
new file mode 100644
index 0000000..7fdffc1
--- /dev/null
+++ b/exercise.wwwapi/out/web.config
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/todo-frontend/.example.env b/todo-frontend/.example.env
deleted file mode 100644
index 593e7d5..0000000
--- a/todo-frontend/.example.env
+++ /dev/null
@@ -1,3 +0,0 @@
-# change this to the API URL of the hosted server instance on AWS
-# ensure the URL does NOT end with /, remove the last /
-API_ENDPOINT_URL=http://localhost:5168
\ No newline at end of file
diff --git a/todo-frontend/src/consts.js b/todo-frontend/src/consts.js
index 48dce62..91365f9 100644
--- a/todo-frontend/src/consts.js
+++ b/todo-frontend/src/consts.js
@@ -1,6 +1,6 @@
import "react";
-const url = import.meta.env.VITE_ENDPOINT_URL || "http://localhost:5168";
+const url = import.meta.env.VITE_ENDPOINT_URL;// || "http://localhost:5168";
// ensure trailing / is removed
export const API_URL = url.replace(/\/$/, "");