From 102051379220bfb3b319628c487455d61b2ab9ef Mon Sep 17 00:00:00 2001 From: Hussain Jameel Date: Fri, 30 Jan 2026 18:11:13 +0500 Subject: [PATCH 1/4] Modified an Existing .NET Backend --- CommBank-Server/Models/Goal.cs | 3 +++ CommBank-Server/Program.cs | 2 +- CommBank-Server/Secrets.json | 2 +- CommBank-Server/appsettings.json | 3 +++ 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CommBank-Server/Models/Goal.cs b/CommBank-Server/Models/Goal.cs index 77ff1ad..b75e073 100644 --- a/CommBank-Server/Models/Goal.cs +++ b/CommBank-Server/Models/Goal.cs @@ -11,6 +11,8 @@ public class Goal public string? Name { get; set; } + public string? Icon { get; set; } // Icon added + public UInt64 TargetAmount { get; set; } = 0; public DateTime TargetDate { get; set; } @@ -27,4 +29,5 @@ public class Goal [BsonRepresentation(BsonType.ObjectId)] public string? UserId { get; set; } + } \ No newline at end of file diff --git a/CommBank-Server/Program.cs b/CommBank-Server/Program.cs index a88e560..5445d64 100644 --- a/CommBank-Server/Program.cs +++ b/CommBank-Server/Program.cs @@ -12,7 +12,7 @@ builder.Configuration.SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("Secrets.json"); var mongoClient = new MongoClient(builder.Configuration.GetConnectionString("CommBank")); -var mongoDatabase = mongoClient.GetDatabase("CommBank"); +var mongoDatabase = mongoClient.GetDatabase("commbank"); IAccountsService accountsService = new AccountsService(mongoDatabase); IAuthService authService = new AuthService(mongoDatabase); diff --git a/CommBank-Server/Secrets.json b/CommBank-Server/Secrets.json index 0e5bf94..2a6493a 100644 --- a/CommBank-Server/Secrets.json +++ b/CommBank-Server/Secrets.json @@ -1,5 +1,5 @@ { "ConnectionStrings": { - "CommBank": "{CONNECTION_STRING}" + "Commbank": "mongodb+srv://adminCommBank:SQkmnlx7CG7hDxzJ@cluster0.53bahl5.mongodb.net/commbank?retryWrites=true&w=majority" } } \ No newline at end of file diff --git a/CommBank-Server/appsettings.json b/CommBank-Server/appsettings.json index af0538f..ec4512a 100644 --- a/CommBank-Server/appsettings.json +++ b/CommBank-Server/appsettings.json @@ -5,6 +5,9 @@ "Microsoft.AspNetCore": "Warning" } }, + "ConnectionStrings": { + "Commbank": "mongodb+srv://adminCommBank:SQkmnlx7CG7hDxzJ@cluster0.53bahl5.mongodb.net/commbank?retryWrites=true&w=majority" + }, "AllowedHosts": "*" } From a98cb1485b077ad79b965c766b6b916566ffcf11 Mon Sep 17 00:00:00 2001 From: Hussain Jameel Date: Fri, 30 Jan 2026 20:52:56 +0500 Subject: [PATCH 2/4] TASK 1: Fixed env issue. --- CommBank-Server/CommBank.csproj | 2 ++ CommBank-Server/Program.cs | 32 +++++++++++++++++++++++--------- CommBank-Server/Secrets.json | 2 +- CommBank-Server/appsettings.json | 3 --- 4 files changed, 26 insertions(+), 13 deletions(-) diff --git a/CommBank-Server/CommBank.csproj b/CommBank-Server/CommBank.csproj index 983cc88..abbf505 100644 --- a/CommBank-Server/CommBank.csproj +++ b/CommBank-Server/CommBank.csproj @@ -9,6 +9,8 @@ + + diff --git a/CommBank-Server/Program.cs b/CommBank-Server/Program.cs index 5445d64..819ddda 100644 --- a/CommBank-Server/Program.cs +++ b/CommBank-Server/Program.cs @@ -1,19 +1,37 @@ using CommBank.Models; using CommBank.Services; using MongoDB.Driver; +using DotNetEnv; var builder = WebApplication.CreateBuilder(args); -builder.Services.AddControllers(); +// Load .env file ONCE +Env.Load(); + +// Add environment variables to configuration +builder.Configuration.AddEnvironmentVariables(); +builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); -builder.Configuration.SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("Secrets.json"); +// Optional: Keep Secrets.json for fallback +builder.Configuration.SetBasePath(Directory.GetCurrentDirectory()) + .AddJsonFile("Secrets.json", optional: true); -var mongoClient = new MongoClient(builder.Configuration.GetConnectionString("CommBank")); -var mongoDatabase = mongoClient.GetDatabase("commbank"); +// Get connection string (priority: env var -> Secrets.json -> appsettings.json) +var connectionString = Environment.GetEnvironmentVariable("MONGODB_URI") + ?? builder.Configuration.GetConnectionString("CommBank"); + +if (string.IsNullOrEmpty(connectionString)) +{ + throw new InvalidOperationException("MongoDB connection string is not configured. Set MONGODB_URI environment variable."); +} +var mongoClient = new MongoClient(connectionString); +var mongoDatabase = mongoClient.GetDatabase("commbank"); // FIXED: Use actual database name + +// Register services IAccountsService accountsService = new AccountsService(mongoDatabase); IAuthService authService = new AuthService(mongoDatabase); IGoalsService goalsService = new GoalsService(mongoDatabase); @@ -44,10 +62,6 @@ } app.UseHttpsRedirection(); - app.UseAuthorization(); - app.MapControllers(); - -app.Run(); - +app.Run(); \ No newline at end of file diff --git a/CommBank-Server/Secrets.json b/CommBank-Server/Secrets.json index 2a6493a..31dac95 100644 --- a/CommBank-Server/Secrets.json +++ b/CommBank-Server/Secrets.json @@ -1,5 +1,5 @@ { "ConnectionStrings": { - "Commbank": "mongodb+srv://adminCommBank:SQkmnlx7CG7hDxzJ@cluster0.53bahl5.mongodb.net/commbank?retryWrites=true&w=majority" + "Commbank": [] } } \ No newline at end of file diff --git a/CommBank-Server/appsettings.json b/CommBank-Server/appsettings.json index ec4512a..af0538f 100644 --- a/CommBank-Server/appsettings.json +++ b/CommBank-Server/appsettings.json @@ -5,9 +5,6 @@ "Microsoft.AspNetCore": "Warning" } }, - "ConnectionStrings": { - "Commbank": "mongodb+srv://adminCommBank:SQkmnlx7CG7hDxzJ@cluster0.53bahl5.mongodb.net/commbank?retryWrites=true&w=majority" - }, "AllowedHosts": "*" } From fe0024745415f8df7e57b7cccca0fb15e09482cc Mon Sep 17 00:00:00 2001 From: Hussain Jameel Date: Fri, 30 Jan 2026 22:27:55 +0500 Subject: [PATCH 3/4] Completed Task 3: Emoji changes persist after client refresh or on server restart --- .gitignore | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 6769715..ceb0516 100644 --- a/.gitignore +++ b/.gitignore @@ -404,4 +404,13 @@ ASALocalRun/ # Local History for Visual Studio .localhistory/ - +# Environment files +.env +*.env.* +.env.local + +# App configuration secrets +appsettings.Development.json +appsettings.Staging.json +appsettings.Production.json +Secrets.json From e317af2e3358247dd50ef42964f13ba82e9650b0 Mon Sep 17 00:00:00 2001 From: Hussain Jameel Date: Fri, 30 Jan 2026 23:55:00 +0500 Subject: [PATCH 4/4] Completed TASK 4: Carried successful unit tests for GoalController --- CommBank-Server/CommBank.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CommBank-Server/CommBank.csproj b/CommBank-Server/CommBank.csproj index abbf505..95b03df 100644 --- a/CommBank-Server/CommBank.csproj +++ b/CommBank-Server/CommBank.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 enable enable CommBank_Server