diff --git a/Dockerfile b/Dockerfile index 84024b8..3f7cd62 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,10 @@ -FROM mcr.microsoft.com/dotnet/aspnet:10.0-preview AS base +FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base RUN apt-get update && apt-get upgrade -y && apt-get install -y openssl && rm -rf /var/lib/apt/lists/* WORKDIR /app EXPOSE 8080 EXPOSE 8443 -FROM mcr.microsoft.com/dotnet/sdk:10.0-preview AS build +FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build WORKDIR /src # Copy project files first so the restore layer is cached independently of source changes diff --git a/README.md b/README.md index 13eb608..4a05540 100644 --- a/README.md +++ b/README.md @@ -79,25 +79,115 @@ The app will be available at `http://localhost:8080`. ``` BudgetApp/ ├── Components/ -│ ├── Layout/ # MainLayout, AuthLayout, NavMenu -│ ├── Pages/ # Home, Accounts, Transactions, Categories, -│ │ # Reports, Settings, Help, About, Login, Register +│ ├── Layout/ +│ │ ├── MainLayout.razor +│ │ ├── MainLayout.razor.css +│ │ ├── AuthLayout.razor +│ │ ├── AuthLayout.razor.css +│ │ ├── NavMenu.razor +│ │ ├── NavMenu.razor.cs +│ │ └── NavMenu.razor.css +│ ├── Pages/ +│ │ ├── Home.razor +│ │ ├── Home.razor.cs +│ │ ├── Home.razor.css +│ │ ├── Accounts.razor +│ │ ├── Accounts.razor.cs +│ │ ├── Transactions.razor +│ │ ├── Transactions.razor.cs +│ │ ├── Transactions.razor.css +│ │ ├── Categories.razor +│ │ ├── Categories.razor.cs +│ │ ├── Salary.razor +│ │ ├── Salary.razor.cs +│ │ ├── Salary.razor.css +│ │ ├── Reports.razor +│ │ ├── Reports.razor.cs +│ │ ├── About.razor +│ │ ├── About.razor.cs +│ │ ├── Settings.razor +│ │ ├── Settings.razor.cs +│ │ ├── Login.razor +│ │ ├── Login.razor.cs +│ │ ├── Register.razor +│ │ ├── Register.razor.cs +│ │ ├── Logout.razor +│ │ ├── Logout.razor.cs +│ │ ├── Help.razor +│ │ ├── NotFound.razor +│ │ ├── Error.razor │ ├── ToastContainer.razor -│ └── ToastValidator.razor -├── Data/ # EF Core entities, DbContext, Identity user -├── Migrations/ # EF Core migrations (SQLite) -├── Services/ # AccountService, TransactionService, CategoryService, -│ # DashboardService, ToastService, AppState -└── wwwroot/ - ├── app.css # Global styles - └── js/ - └── chart-interop.js # Chart.js interop (line, doughnut, bar charts) +│ ├── ToastContainer.razor.cs +│ ├── ToastContainer.razor.css +│ ├── ToastValidator.razor +│ ├── ToastValidator.razor.cs +│ └── _Imports.razor +├── Services/ +│ ├── DashboardService.cs +│ ├── ToastService.cs +│ ├── AppState.cs +│ ├── Models/ +│ │ ├── ChartData.cs +│ │ ├── ChartDataset.cs +│ │ └── DashboardData.cs +├── Program.cs +├── wwwroot/ +│ ├── app.css +│ └── js/ +│ └── chart-interop.js +├── appsettings.json +├── appsettings.Development.json +├── Dockerfile +├── .dockerignore +├── README.md +└── certs/ + └── .gitkeep + +BudgetApp.Data/ +├── Entities/ +│ ├── Account.cs +│ ├── ApplicationUser.cs +│ ├── Category.cs +│ ├── RecurrenceType.cs +│ ├── Salary.cs +│ ├── Transaction.cs +│ ├── TransactionType.cs +├── Interfaces/ +│ ├── IAccountRepository.cs +│ ├── ICategoryRepository.cs +│ ├── ISalaryRepository.cs +│ ├── ITransactionRepository.cs +├── Repositories/ +│ ├── AccountRepository.cs +│ ├── CategoryRepository.cs +│ ├── SalaryRepository.cs +│ └── TransactionRepository.cs +├── ApplicationDbContext.cs +├── Migrations/ +│ ├── AddCurrencyCodeAndCategoryIcon.cs +│ ├── AddCurrencyCodeAndCategoryIcon.Designer.cs +│ ├── AddIsDefaultToCategory.cs +│ ├── AddIsDefaultToCategory.Designer.cs +│ ├── AddIsPaidToTransaction.cs +│ ├── AddIsPaidToTransaction.Designer.cs +│ ├── AddRecurringTransactions.cs +│ ├── AddRecurringTransactions.Designer.cs +│ ├── AddSalary.cs +│ ├── AddSalary.Designer.cs +│ ├── InitialCreate.cs +│ ├── InitialCreate.Designer.cs +│ └── ApplicationDbContextModelSnapshot.cs BudgetApp.Tests/ -├── Helpers/ # TestDbContextFactory -├── Models/ # AccountModelTests -└── Services/ # AccountService, TransactionService, CategoryService, - # DashboardService tests +├── Helpers/ +│ └── TestDbContextFactory.cs +├── Models/ +│ └── AccountModelTests.cs +├── Services/ +│ ├── AccountServiceTests.cs +│ ├── CategoryServiceTests.cs +│ ├── DashboardServiceTests.cs +│ └── TransactionServiceTests.cs ``` ## Configuration