From ea447495d3b48676ab0a98c48c78865f79bf921d Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Fri, 3 Jul 2026 10:37:37 +0900 Subject: [PATCH] refactor: move buildable .NET source into src/, update CI/doc paths Groups the repo root into src (buildable source), docs (already existed), and everything else (db/, scripts/, tests/, deploy/ - deployment/ops/test assets that aren't compiled, already organized as their own folders). CI now only needs src/ to build: dotnet restore/build/test/publish all point at src/TaxBaik.sln, src/TaxBaik.Web/, src/TaxBaik.Proxy/. - git mv every project (Domain, Infrastructure, Application, Application.Tests, Web, Web.Client, Proxy) and TaxBaik.sln into src/ as a unit, so relative ProjectReference/.sln paths stay valid unchanged. - .gitea/workflows/deploy.yml: 6 dotnet restore/clean/build/test/publish invocations now point at src/. db/migrations and scripts/ stay at root (deploy_gb.sh and browser-e2e.yml only touch published output and the deployed URL, not source paths - verified, no changes needed there). - scripts/validate_admin_render.sh: admin render-mode file paths now src/TaxBaik.Web.Client/... - scripts/validate_kst_timestamps.sh: dropped deploy.sh from its target list - that script was removed in the prior cleanup commit (dead, no CI workflow referenced it) but this validator still expected it to exist. - CLAUDE.md, docs/ENGINEERING_HARNESS.md, docs/ADMIN_PATTERN_CRITIQUE_WBS.md: updated project-structure diagram, dotnet run/build commands, and grep targets to the new src/ paths (also fixed a pre-existing stale path in ADMIN_PATTERN_CRITIQUE_WBS.md that still said TaxBaik.Web/Components/Admin from before that ever moved to TaxBaik.Web.Client). - Added a Repo Root harness rule + Architecture Guardrail entries: new files belong under src/docs/tests/scripts/db/deploy, not loose at root; temp work stays outside the repo (or under a gitignored .scratch/) and is never committed. Verified locally: dotnet build/test src/TaxBaik.sln (26/26 tests), and all three scripts/validate_*.sh pass against the new layout. Co-Authored-By: Claude Sonnet 5 --- .gitea/workflows/deploy.yml | 12 ++++---- .gitignore | 3 ++ CLAUDE.md | 29 ++++++++++--------- docs/ADMIN_PATTERN_CRITIQUE_WBS.md | 2 +- docs/ENGINEERING_HARNESS.md | 10 +++++-- scripts/validate_admin_render.sh | 8 ++--- scripts/validate_kst_timestamps.sh | 1 - .../BlogServiceTests.cs | 0 .../BusinessDayCalculatorTests.cs | 0 .../CommonCodeServiceTests.cs | 0 .../InquiryServiceTests.cs | 0 .../SeasonalMarketingServiceTests.cs | 0 .../TaxBaik.Application.Tests.csproj | 0 .../TaxBaik.Application}/Class1.cs | 0 .../DTOs/AnnouncementDto.cs | 0 .../TaxBaik.Application}/DTOs/ClientDto.cs | 0 .../DTOs/CreateBlogPostDto.cs | 0 .../DTOs/SubmitInquiryDto.cs | 0 .../DTOs/UpdateInquiryDto.cs | 0 .../DependencyInjection.cs | 0 .../Seasonal/BusinessDayCalculator.cs | 0 .../Seasonal/CurrentSeasonDto.cs | 0 .../Seasonal/TaxSeason.cs | 0 .../Seasonal/TaxSeasonCalendar.cs | 0 .../Services/AdminDashboardService.cs | 0 .../Services/AnnouncementService.cs | 0 .../Services/BlogService.cs | 0 .../Services/CategoryService.cs | 0 .../Services/ClientService.cs | 0 .../Services/CommonCodeService.cs | 0 .../Services/CompanyService.cs | 0 .../Services/ConsultationService.cs | 0 .../Services/ConsultingActivityService.cs | 0 .../Services/ContractService.cs | 0 .../Services/FaqService.cs | 0 .../Services/IInquiryNotificationService.cs | 0 .../Services/InquiryService.cs | 0 .../Services/InquiryStatusMapper.cs | 0 .../NoopInquiryNotificationService.cs | 0 .../Services/PortalUserService.cs | 0 .../Services/RevenueTrackingService.cs | 0 .../Services/SeasonalMarketingService.cs | 0 .../Services/SiteSettingService.cs | 0 .../Services/TaxFilingScheduleService.cs | 0 .../Services/TaxFilingService.cs | 0 .../Services/TaxProfileService.cs | 0 .../Services/TelegramReportService.cs | 0 .../TaxBaik.Application.csproj | 0 .../Utils/BusinessDayCalculator.cs | 0 .../TaxBaik.Application}/Utils/VersionInfo.cs | 0 .../TaxBaik.Domain}/Class1.cs | 0 .../TaxBaik.Domain}/Entities/AdminUser.cs | 0 .../TaxBaik.Domain}/Entities/Announcement.cs | 0 .../TaxBaik.Domain}/Entities/BlogPost.cs | 0 .../TaxBaik.Domain}/Entities/Category.cs | 0 .../TaxBaik.Domain}/Entities/Client.cs | 0 .../TaxBaik.Domain}/Entities/CommonCode.cs | 0 .../TaxBaik.Domain}/Entities/Company.cs | 0 .../TaxBaik.Domain}/Entities/Consultation.cs | 0 .../Entities/ConsultingActivity.cs | 0 .../TaxBaik.Domain}/Entities/Contract.cs | 0 .../TaxBaik.Domain}/Entities/Faq.cs | 0 .../TaxBaik.Domain}/Entities/Inquiry.cs | 0 .../TaxBaik.Domain}/Entities/PortalUser.cs | 0 .../Entities/RevenueTracking.cs | 0 .../TaxBaik.Domain}/Entities/SiteSetting.cs | 0 .../TaxBaik.Domain}/Entities/TaxFiling.cs | 0 .../Entities/TaxFilingSchedule.cs | 0 .../TaxBaik.Domain}/Entities/TaxProfile.cs | 0 .../TaxBaik.Domain}/Enums/InquiryStatus.cs | 0 .../TaxBaik.Domain}/Enums/ServiceType.cs | 0 .../Interfaces/IAdminUserRepository.cs | 0 .../Interfaces/IAnnouncementRepository.cs | 0 .../Interfaces/IBlogPostRepository.cs | 0 .../Interfaces/ICategoryRepository.cs | 0 .../Interfaces/IClientRepository.cs | 0 .../Interfaces/ICommonCodeRepository.cs | 0 .../Interfaces/ICompanyRepository.cs | 0 .../Interfaces/IConsultationRepository.cs | 0 .../IConsultingActivityRepository.cs | 0 .../Interfaces/IContractRepository.cs | 0 .../Interfaces/IDbConnectionFactory.cs | 0 .../Interfaces/IFaqRepository.cs | 0 .../Interfaces/IInquiryRepository.cs | 0 .../Interfaces/IPortalUserRepository.cs | 0 .../Interfaces/IRevenueTrackingRepository.cs | 0 .../Interfaces/ISiteSettingRepository.cs | 0 .../Interfaces/ITaxFilingRepository.cs | 0 .../ITaxFilingScheduleRepository.cs | 0 .../Interfaces/ITaxProfileRepository.cs | 0 .../TaxBaik.Domain}/TaxBaik.Domain.csproj | 0 .../TaxBaik.Infrastructure}/Class1.cs | 0 .../Data/DbConnectionFactory.cs | 0 .../Data/MigrationRunner.cs | 0 .../DependencyInjection.cs | 0 .../Repositories/AdminUserRepository.cs | 0 .../Repositories/AnnouncementRepository.cs | 0 .../Repositories/BaseRepository.cs | 0 .../Repositories/BlogPostRepository.cs | 0 .../Repositories/CategoryRepository.cs | 0 .../Repositories/ClientRepository.cs | 0 .../Repositories/CommonCodeRepository.cs | 0 .../Repositories/CompanyRepository.cs | 0 .../Repositories/ConsultationRepository.cs | 0 .../ConsultingActivityRepository.cs | 0 .../Repositories/ContractRepository.cs | 0 .../Repositories/FaqRepository.cs | 0 .../Repositories/InquiryRepository.cs | 0 .../Repositories/PortalUserRepository.cs | 0 .../Repositories/RevenueTrackingRepository.cs | 0 .../Repositories/SiteSettingRepository.cs | 0 .../Repositories/TaxFilingRepository.cs | 0 .../TaxFilingScheduleRepository.cs | 0 .../Repositories/TaxProfileRepository.cs | 0 .../TaxBaik.Infrastructure.csproj | 0 .../TaxBaik.Proxy}/Program.cs | 0 .../TaxBaik.Proxy}/TaxBaik.Proxy.csproj | 0 .../Components/Admin/App.razor | 0 .../Components/Admin/ConfirmDialog.razor | 0 .../Components/Admin/Forms/CompanyForm.razor | 0 .../Components/Admin/Forms/InquiryForm.razor | 0 .../Components/Admin/InquiryTable.razor | 0 .../Components/Admin/Layout/BlankLayout.razor | 0 .../Components/Admin/Layout/MainLayout.razor | 0 .../Components/Admin/Pages/AdminIndex.razor | 0 .../Announcements/AnnouncementEdit.razor | 0 .../Announcements/AnnouncementList.razor | 0 .../Admin/Pages/Blog/BlogCreate.razor | 0 .../Admin/Pages/Blog/BlogEdit.razor | 0 .../Admin/Pages/Blog/BlogForm.razor | 0 .../Admin/Pages/Blog/BlogList.razor | 0 .../Admin/Pages/Clients/ClientDetail.razor | 0 .../Admin/Pages/Clients/ClientEdit.razor | 0 .../Admin/Pages/Clients/ClientList.razor | 0 .../Components/Admin/Pages/CommonCodes.razor | 0 .../Admin/Pages/Companies/CompanyCreate.razor | 0 .../Admin/Pages/Companies/CompanyEdit.razor | 0 .../Admin/Pages/Companies/CompanyList.razor | 0 .../Admin/Pages/ConsultingActivities.razor | 0 .../Components/Admin/Pages/Contracts.razor | 0 .../Components/Admin/Pages/Dashboard.razor | 0 .../Components/Admin/Pages/Faqs/FaqEdit.razor | 0 .../Components/Admin/Pages/Faqs/FaqList.razor | 0 .../Admin/Pages/Inquiries/InquiryCreate.razor | 0 .../Admin/Pages/Inquiries/InquiryDetail.razor | 0 .../Admin/Pages/Inquiries/InquiryEdit.razor | 0 .../Admin/Pages/Inquiries/InquiryList.razor | 0 .../Components/Admin/Pages/Login.razor | 0 .../Components/Admin/Pages/Logout.razor | 0 .../Admin/Pages/RevenueTrackings.razor | 0 .../Admin/Pages/SeasonSimulator.razor | 0 .../Admin/Pages/Settings/SiteSettings.razor | 0 .../Admin/Pages/TaxFilingSchedules.razor | 0 .../Admin/Pages/TaxFilings/FilingTable.razor | 0 .../Pages/TaxFilings/TaxFilingList.razor | 0 .../Components/Admin/Pages/TaxProfiles.razor | 0 .../Components/Admin/RedirectToLogin.razor | 0 .../Components/Admin/Routes.razor | 0 .../Admin/Shared/AdminCrudPageShell.razor | 0 .../Admin/Shared/AdminDataPanel.razor | 0 .../Admin/Shared/AdminDetailSection.razor | 0 .../Admin/Shared/AdminEditorPanel.razor | 0 .../Admin/Shared/AdminEmptyState.razor | 0 .../Admin/Shared/AdminFormActions.razor | 0 .../Admin/Shared/AdminFormSection.razor | 0 .../Admin/Shared/AdminLoginForm.razor | 0 .../Admin/Shared/AdminMetricCard.razor | 0 .../Admin/Shared/AdminPageHeader.razor | 0 .../Components/Admin/Shared/AdminShell.razor | 0 .../Admin/Shared/AdminSkeletonRows.razor | 0 .../Admin/Shared/AdminTelemetryContext.razor | 0 .../Admin/Shared/CommonCodeGroupPanel.razor | 0 .../Admin/Shared/CommonCodeListPanel.razor | 0 .../Admin/Shared/CommonCodeSelect.razor | 0 .../Admin/Shared/ConfirmDialog.razor | 0 .../Components/Admin/_Imports.razor | 0 .../TaxBaik.Web.Client}/GlobalUsings.cs | 0 .../TaxBaik.Web.Client}/Pages/WasmPing.razor | 0 .../TaxBaik.Web.Client}/Program.cs | 0 .../AdminClients/ICommonCodeBrowserClient.cs | 0 .../IConsultingActivityBrowserClient.cs | 0 .../AdminClients/IContractBrowserClient.cs | 0 .../IRevenueTrackingBrowserClient.cs | 0 .../ITaxFilingScheduleBrowserClient.cs | 0 .../AdminClients/ITaxProfileBrowserClient.cs | 0 .../Services/AdminDashboardClient.cs | 0 .../Services/AnnouncementBrowserClient.cs | 0 .../TaxBaik.Web.Client}/Services/ApiClient.cs | 0 .../Services/BlogBrowserClient.cs | 0 .../Services/CategoryBrowserClient.cs | 0 .../Services/ClientBrowserClient.cs | 0 .../CustomAuthenticationStateProvider.cs | 0 .../Services/FaqBrowserClient.cs | 0 .../Services/ILocalStorageService.cs | 0 .../Services/ITokenStore.cs | 0 .../Services/InquiryBrowserClient.cs | 0 .../Services/LocalStorageService.cs | 0 .../Services/TaxFilingBrowserClient.cs | 0 .../Services/TokenRefreshHandler.cs | 0 .../TaxBaik.Web.Client.csproj | 0 .../TaxBaik.Web.Client}/_Imports.razor | 0 .../TaxBaik.Web.Client}/wwwroot/index.html | 0 .../Controllers/AdminDashboardController.cs | 0 .../Controllers/AnnouncementController.cs | 0 .../Controllers/AuthController.cs | 0 .../Controllers/BlogController.cs | 0 .../Controllers/CategoryController.cs | 0 .../Controllers/ClientController.cs | 0 .../Controllers/ClientLogsController.cs | 0 .../Controllers/CommonCodeController.cs | 0 .../Controllers/CompanyController.cs | 0 .../ConsultingActivityController.cs | 0 .../Controllers/ContractController.cs | 0 .../TaxBaik.Web}/Controllers/FaqController.cs | 0 .../Controllers/InquiryController.cs | 0 .../Controllers/RevenueTrackingController.cs | 0 .../Controllers/SiteSettingsController.cs | 0 .../Controllers/TaxFilingController.cs | 0 .../TaxFilingScheduleController.cs | 0 .../Controllers/TaxProfileController.cs | 0 .../TaxBaik.Web}/Logging/TelegramSink.cs | 0 .../TaxBaik.Web}/Pages/About.cshtml | 0 .../TaxBaik.Web}/Pages/Announcement.cshtml | 0 .../TaxBaik.Web}/Pages/Blog/Index.cshtml | 0 .../TaxBaik.Web}/Pages/Blog/Index.cshtml.cs | 0 .../TaxBaik.Web}/Pages/Blog/Post.cshtml | 0 .../TaxBaik.Web}/Pages/Blog/Post.cshtml.cs | 0 .../TaxBaik.Web}/Pages/Contact.cshtml | 0 .../TaxBaik.Web}/Pages/Contact.cshtml.cs | 0 .../TaxBaik.Web}/Pages/Faq.cshtml | 0 .../TaxBaik.Web}/Pages/Index.cshtml | 0 .../TaxBaik.Web}/Pages/Index.cshtml.cs | 0 .../TaxBaik.Web}/Pages/Inquiry.cshtml | 0 .../Pages/Portal/ExternalCallback.cshtml | 0 .../Pages/Portal/ExternalCallback.cshtml.cs | 0 .../TaxBaik.Web}/Pages/Portal/Index.cshtml | 0 .../TaxBaik.Web}/Pages/Portal/Index.cshtml.cs | 0 .../TaxBaik.Web}/Pages/Portal/Login.cshtml | 0 .../TaxBaik.Web}/Pages/Portal/Login.cshtml.cs | 0 .../TaxBaik.Web}/Pages/Portal/Register.cshtml | 0 .../Pages/Portal/Register.cshtml.cs | 0 .../TaxBaik.Web}/Pages/Privacy.cshtml | 0 .../TaxBaik.Web}/Pages/Privacy.cshtml.cs | 0 .../TaxBaik.Web}/Pages/Services.cshtml | 0 .../TaxBaik.Web}/Pages/Shared/_Footer.cshtml | 0 .../TaxBaik.Web}/Pages/Shared/_Header.cshtml | 0 .../Pages/Shared/_ViewImports.cshtml | 0 .../Pages/Shared/_ViewStart.cshtml | 0 .../TaxBaik.Web}/Pages/Sitemap.cshtml | 0 .../TaxBaik.Web}/Pages/Sitemap.cshtml.cs | 0 .../TaxBaik.Web}/Pages/Terms.cshtml | 0 .../TaxBaik.Web}/Pages/Terms.cshtml.cs | 0 .../TaxBaik.Web}/Pages/_Layout.cshtml | 0 .../TaxBaik.Web}/Pages/_ViewStart.cshtml | 0 {TaxBaik.Web => src/TaxBaik.Web}/Program.cs | 0 .../Properties/launchSettings.json | 0 .../TaxBaik.Web}/Services/AuthService.cs | 0 .../Services/PortalAuthDefaults.cs | 0 .../Services/PortalAuthOptions.cs | 0 .../Services/PortalAuthService.cs | 0 .../Services/PortalOAuthDefaults.cs | 0 .../Services/TelegramAlertGate.cs | 0 .../TelegramInquiryNotificationService.cs | 0 .../Services/TelegramNotificationService.cs | 0 .../TelegramReportBackgroundService.cs | 0 .../TaxBaik.Web}/TaxBaik.Web.csproj | 0 .../TaxBaik.Web}/VersionInfo.cs | 0 .../TaxBaik.Web}/appsettings.json | 0 .../TaxBaik.Web}/wwwroot/css/admin.css | 0 .../TaxBaik.Web}/wwwroot/css/site.css | 0 .../TaxBaik.Web}/wwwroot/favicon.svg | 0 .../TaxBaik.Web}/wwwroot/js/admin-session.js | 0 .../TaxBaik.Web}/wwwroot/js/site.js | 0 .../TaxBaik.Web}/wwwroot/maintenance.html | 0 .../TaxBaik.Web}/wwwroot/robots.txt | 0 .../TaxBaik.Web}/wwwroot/sitemap.xml | 0 TaxBaik.sln => src/TaxBaik.sln | 0 277 files changed, 36 insertions(+), 29 deletions(-) rename {TaxBaik.Application.Tests => src/TaxBaik.Application.Tests}/BlogServiceTests.cs (100%) rename {TaxBaik.Application.Tests => src/TaxBaik.Application.Tests}/BusinessDayCalculatorTests.cs (100%) rename {TaxBaik.Application.Tests => src/TaxBaik.Application.Tests}/CommonCodeServiceTests.cs (100%) rename {TaxBaik.Application.Tests => src/TaxBaik.Application.Tests}/InquiryServiceTests.cs (100%) rename {TaxBaik.Application.Tests => src/TaxBaik.Application.Tests}/SeasonalMarketingServiceTests.cs (100%) rename {TaxBaik.Application.Tests => src/TaxBaik.Application.Tests}/TaxBaik.Application.Tests.csproj (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Class1.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/DTOs/AnnouncementDto.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/DTOs/ClientDto.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/DTOs/CreateBlogPostDto.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/DTOs/SubmitInquiryDto.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/DTOs/UpdateInquiryDto.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/DependencyInjection.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Seasonal/BusinessDayCalculator.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Seasonal/CurrentSeasonDto.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Seasonal/TaxSeason.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Seasonal/TaxSeasonCalendar.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/AdminDashboardService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/AnnouncementService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/BlogService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/CategoryService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/ClientService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/CommonCodeService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/CompanyService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/ConsultationService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/ConsultingActivityService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/ContractService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/FaqService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/IInquiryNotificationService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/InquiryService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/InquiryStatusMapper.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/NoopInquiryNotificationService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/PortalUserService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/RevenueTrackingService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/SeasonalMarketingService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/SiteSettingService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/TaxFilingScheduleService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/TaxFilingService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/TaxProfileService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Services/TelegramReportService.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/TaxBaik.Application.csproj (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Utils/BusinessDayCalculator.cs (100%) rename {TaxBaik.Application => src/TaxBaik.Application}/Utils/VersionInfo.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Class1.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/AdminUser.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/Announcement.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/BlogPost.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/Category.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/Client.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/CommonCode.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/Company.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/Consultation.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/ConsultingActivity.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/Contract.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/Faq.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/Inquiry.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/PortalUser.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/RevenueTracking.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/SiteSetting.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/TaxFiling.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/TaxFilingSchedule.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Entities/TaxProfile.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Enums/InquiryStatus.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Enums/ServiceType.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/IAdminUserRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/IAnnouncementRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/IBlogPostRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/ICategoryRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/IClientRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/ICommonCodeRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/ICompanyRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/IConsultationRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/IConsultingActivityRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/IContractRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/IDbConnectionFactory.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/IFaqRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/IInquiryRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/IPortalUserRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/IRevenueTrackingRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/ISiteSettingRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/ITaxFilingRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/ITaxFilingScheduleRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/Interfaces/ITaxProfileRepository.cs (100%) rename {TaxBaik.Domain => src/TaxBaik.Domain}/TaxBaik.Domain.csproj (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Class1.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Data/DbConnectionFactory.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Data/MigrationRunner.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/DependencyInjection.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/AdminUserRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/AnnouncementRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/BaseRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/BlogPostRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/CategoryRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/ClientRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/CommonCodeRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/CompanyRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/ConsultationRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/ConsultingActivityRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/ContractRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/FaqRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/InquiryRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/PortalUserRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/RevenueTrackingRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/SiteSettingRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/TaxFilingRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/TaxFilingScheduleRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/Repositories/TaxProfileRepository.cs (100%) rename {TaxBaik.Infrastructure => src/TaxBaik.Infrastructure}/TaxBaik.Infrastructure.csproj (100%) rename {TaxBaik.Proxy => src/TaxBaik.Proxy}/Program.cs (100%) rename {TaxBaik.Proxy => src/TaxBaik.Proxy}/TaxBaik.Proxy.csproj (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/App.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/ConfirmDialog.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Forms/CompanyForm.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Forms/InquiryForm.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/InquiryTable.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Layout/BlankLayout.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Layout/MainLayout.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/AdminIndex.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Announcements/AnnouncementEdit.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Announcements/AnnouncementList.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Blog/BlogCreate.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Blog/BlogEdit.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Blog/BlogForm.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Blog/BlogList.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Clients/ClientDetail.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Clients/ClientEdit.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Clients/ClientList.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/CommonCodes.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Companies/CompanyCreate.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Companies/CompanyEdit.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Companies/CompanyList.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/ConsultingActivities.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Contracts.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Dashboard.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Faqs/FaqEdit.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Faqs/FaqList.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Inquiries/InquiryCreate.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Inquiries/InquiryDetail.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Inquiries/InquiryEdit.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Inquiries/InquiryList.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Login.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Logout.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/RevenueTrackings.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/SeasonSimulator.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/Settings/SiteSettings.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/TaxFilingSchedules.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/TaxFilings/FilingTable.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/TaxFilings/TaxFilingList.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Pages/TaxProfiles.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/RedirectToLogin.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Routes.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/AdminCrudPageShell.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/AdminDataPanel.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/AdminDetailSection.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/AdminEditorPanel.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/AdminEmptyState.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/AdminFormActions.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/AdminFormSection.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/AdminLoginForm.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/AdminMetricCard.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/AdminPageHeader.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/AdminShell.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/AdminSkeletonRows.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/AdminTelemetryContext.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/CommonCodeGroupPanel.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/CommonCodeListPanel.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/CommonCodeSelect.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/Shared/ConfirmDialog.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Components/Admin/_Imports.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/GlobalUsings.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Pages/WasmPing.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Program.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/AdminClients/ICommonCodeBrowserClient.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/AdminClients/IConsultingActivityBrowserClient.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/AdminClients/IContractBrowserClient.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/AdminClients/IRevenueTrackingBrowserClient.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/AdminClients/ITaxFilingScheduleBrowserClient.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/AdminClients/ITaxProfileBrowserClient.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/AdminDashboardClient.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/AnnouncementBrowserClient.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/ApiClient.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/BlogBrowserClient.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/CategoryBrowserClient.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/ClientBrowserClient.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/CustomAuthenticationStateProvider.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/FaqBrowserClient.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/ILocalStorageService.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/ITokenStore.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/InquiryBrowserClient.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/LocalStorageService.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/TaxFilingBrowserClient.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/Services/TokenRefreshHandler.cs (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/TaxBaik.Web.Client.csproj (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/_Imports.razor (100%) rename {TaxBaik.Web.Client => src/TaxBaik.Web.Client}/wwwroot/index.html (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/AdminDashboardController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/AnnouncementController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/AuthController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/BlogController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/CategoryController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/ClientController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/ClientLogsController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/CommonCodeController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/CompanyController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/ConsultingActivityController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/ContractController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/FaqController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/InquiryController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/RevenueTrackingController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/SiteSettingsController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/TaxFilingController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/TaxFilingScheduleController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Controllers/TaxProfileController.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Logging/TelegramSink.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/About.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Announcement.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Blog/Index.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Blog/Index.cshtml.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Blog/Post.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Blog/Post.cshtml.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Contact.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Contact.cshtml.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Faq.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Index.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Index.cshtml.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Inquiry.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Portal/ExternalCallback.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Portal/ExternalCallback.cshtml.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Portal/Index.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Portal/Index.cshtml.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Portal/Login.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Portal/Login.cshtml.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Portal/Register.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Portal/Register.cshtml.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Privacy.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Privacy.cshtml.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Services.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Shared/_Footer.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Shared/_Header.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Shared/_ViewImports.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Shared/_ViewStart.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Sitemap.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Sitemap.cshtml.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Terms.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/Terms.cshtml.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/_Layout.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Pages/_ViewStart.cshtml (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Program.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Properties/launchSettings.json (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Services/AuthService.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Services/PortalAuthDefaults.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Services/PortalAuthOptions.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Services/PortalAuthService.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Services/PortalOAuthDefaults.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Services/TelegramAlertGate.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Services/TelegramInquiryNotificationService.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Services/TelegramNotificationService.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/Services/TelegramReportBackgroundService.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/TaxBaik.Web.csproj (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/VersionInfo.cs (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/appsettings.json (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/wwwroot/css/admin.css (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/wwwroot/css/site.css (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/wwwroot/favicon.svg (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/wwwroot/js/admin-session.js (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/wwwroot/js/site.js (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/wwwroot/maintenance.html (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/wwwroot/robots.txt (100%) rename {TaxBaik.Web => src/TaxBaik.Web}/wwwroot/sitemap.xml (100%) rename TaxBaik.sln => src/TaxBaik.sln (100%) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 3b3dacf..85ff17d 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -20,21 +20,21 @@ jobs: dotnet-version: '10.0' - name: Restore dependencies - run: dotnet restore TaxBaik.sln + run: dotnet restore src/TaxBaik.sln - name: Build solution run: | - dotnet clean TaxBaik.sln -c Release - dotnet build TaxBaik.sln -c Release --no-restore + dotnet clean src/TaxBaik.sln -c Release + dotnet build src/TaxBaik.sln -c Release --no-restore - name: Test solution - run: dotnet test TaxBaik.sln -c Release --no-build + run: dotnet test src/TaxBaik.sln -c Release --no-build - name: Publish Web (auto-includes WASM from referenced TaxBaik.Web.Client) - run: dotnet publish TaxBaik.Web/ -c Release -o ./publish --no-restore + run: dotnet publish src/TaxBaik.Web/ -c Release -o ./publish --no-restore - name: Publish Proxy - run: dotnet publish TaxBaik.Proxy/ -c Release -o ./publish/proxy + run: dotnet publish src/TaxBaik.Proxy/ -c Release -o ./publish/proxy - name: Write production secrets run: | diff --git a/.gitignore b/.gitignore index 7f87f78..a8b34f6 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,6 @@ PublishProfiles/ .env .env.local appsettings.Development.json + +# Scratch / temporary work - never commit, see docs/ENGINEERING_HARNESS.md +.scratch/ diff --git a/CLAUDE.md b/CLAUDE.md index a9fcc7a..e68c869 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -350,17 +350,18 @@ Repositories (데이터 계층) **단일 앱 구조** (공개 사이트 + 관리자까지 하나의 ASP.NET Core 앱): ``` -TaxBaik.Domain 클래스 라이브러리 (엔티티, 인터페이스, enum) -TaxBaik.Infrastructure 클래스 라이브러리 (Dapper repository, DB 마이그레이션) -TaxBaik.Application 클래스 라이브러리 (서비스, DTO, 비즈니스 로직) -TaxBaik.Web ASP.NET Core 앱 (포트 5001 - 서버는 순수 API) - ├─ Pages/ Razor Pages (공개 홈페이지, 블로그, 문의폼) - ├─ Components/ - │ ├─ (Web pages) - │ └─ App.razor Blazor Root (WebAssembly 렌더링) - └─ Services/ 인증, 블로그, 문의 등 (API만 제공) +src/ 빌드 가능한 .NET 소스 전체 (CI는 이 폴더만 빌드 대상으로 참조) + TaxBaik.Domain 클래스 라이브러리 (엔티티, 인터페이스, enum) + TaxBaik.Infrastructure 클래스 라이브러리 (Dapper repository, DB 마이그레이션) + TaxBaik.Application 클래스 라이브러리 (서비스, DTO, 비즈니스 로직) + TaxBaik.Web ASP.NET Core 앱 (포트 5001 - 서버는 순수 API) + ├─ Pages/ Razor Pages (공개 홈페이지, 블로그, 문의폼) + ├─ Components/ + │ ├─ (Web pages) + │ └─ App.razor Blazor Root (WebAssembly 렌더링) + └─ Services/ 인증, 블로그, 문의 등 (API만 제공) -TaxBaik.Web.Client (NEW) Blazor WebAssembly WASM 클라이언트 + TaxBaik.Web.Client (NEW) Blazor WebAssembly WASM 클라이언트 ├─ _Imports.razor 네임스페이스 임포트 └─ Components/ └─ Admin/ 관리자 페이지 (클라이언트 사이드) @@ -460,7 +461,7 @@ ssh taxbaik-tunnel # 터널 유지 psql -h localhost -U taxbaik -d taxbaikdb -c "\dt" # 또는 .NET 앱 실행 (자동으로 마이그레이션 실행) -dotnet run -p TaxBaik.Web +dotnet run -p src/TaxBaik.Web ``` #### 단계 3: 개발 워크플로우 (단일 앱 통합) @@ -470,7 +471,7 @@ dotnet run -p TaxBaik.Web ssh -L 5432:127.0.0.1:5432 kjh2064@178.104.200.7 # 터미널 2: 통합 Web 앱 (Razor Pages + Blazor Server Admin) -cd TaxBaik.Web +cd src/TaxBaik.Web dotnet run # 접속: # - 홈페이지: http://localhost:5001/taxbaik @@ -1762,7 +1763,7 @@ public interface INtsApiClient ### 빌드 ```bash -dotnet build TaxBaik.sln +dotnet build src/TaxBaik.sln ``` ### 서버 상태 확인 (SSH) @@ -2166,7 +2167,7 @@ else | 11/15 ~ 11/30 | 종합부동산세 납부 | `comprehensive-real-estate-tax` | real-estate-tax | | 12/1 ~ 12/31 | 연말 증여·절세 플래닝 | `year-end-gift` | family-asset | -캘린더 정의 위치: `TaxBaik.Application/Seasonal/TaxSeasonCalendar.cs` +캘린더 정의 위치: `src/TaxBaik.Application/Seasonal/TaxSeasonCalendar.cs` 시즌 추가/수정은 이 파일만 변경하면 된다. DB·마이그레이션 변경 없음. diff --git a/docs/ADMIN_PATTERN_CRITIQUE_WBS.md b/docs/ADMIN_PATTERN_CRITIQUE_WBS.md index 5ed6122..abac396 100644 --- a/docs/ADMIN_PATTERN_CRITIQUE_WBS.md +++ b/docs/ADMIN_PATTERN_CRITIQUE_WBS.md @@ -33,7 +33,7 @@ Razor Page/Form | 지표 | 기준값 | 측정 방법 | | --- | --- | --- | -| Admin direct service injection | 0건 | `rg "@inject .*Service|@inject I.*Repository" TaxBaik.Web/Components/Admin` | +| Admin direct service injection | 0건 | `rg "@inject .*Service|@inject I.*Repository" src/TaxBaik.Web.Client/Components/Admin` | | Blog create/edit duplicate fields | 0개 중복 폼 | `BlogForm.razor` 단일 사용 여부 | | Admin JavaScript surface | 필수 module만 허용 | `window.*` 전역 admin JS 0건, JS interop 사유 문서화 | | Inquiry visible-but-unsaved fields | 0개 | E2E로 수정 후 API 재조회 | diff --git a/docs/ENGINEERING_HARNESS.md b/docs/ENGINEERING_HARNESS.md index ec4c5cb..1d0a105 100644 --- a/docs/ENGINEERING_HARNESS.md +++ b/docs/ENGINEERING_HARNESS.md @@ -13,8 +13,9 @@ | Auth | JWT 인증, 관리자 API는 `[Authorize]` | 익명으로 관리자 데이터 접근 가능 | | Deploy | Gitea Actions CI/CD만 배포 경로 | 수동 SSH/복사로 운영 반영 | | Evidence | 빌드, 테스트, E2E, API smoke 로그 | "확인함", "될 것" 같은 진술 | -| Admin Render | 어드민 기본 셸은 `InteractiveWebAssemblyRenderMode(prerender: true)`로 초기 마크업을 확보하고, 로그인은 예외적으로 서버 프리렌더 허용 | 어드민 셸이 순수 클라이언트 렌더만으로 첫 화면을 비우거나, 로그인 폼이 HTML에 없다 | +| Admin Render | Router/Routes에는 전역 `@rendermode`를 두지 않고 페이지별로 지정한다. 로그인 페이지만 `prerender: true`로 최초 HTML에 폼을 포함시키고, 나머지 `[Authorize]` 페이지는 `prerender: false`를 유지한다 | Router/Routes에 전역 렌더모드가 다시 생기거나, 로그인 폼이 최초 HTML에 없다 | | KST Timestamp | CI/배포/백업 폴더명과 추적 일시는 `TZ=Asia/Seoul` | `date`가 기본 UTC 또는 서버 로캘에 종속 | +| Repo Root | 소스는 `src/`, 문서는 `docs/`, 테스트는 `tests/`, 스크립트는 `scripts/`, 마이그레이션은 `db/`, 배포 참조 설정은 `deploy/`에 둔다. 루트에는 진입점 설정(`CLAUDE.md`, `README.md`, `.gitignore`, `package.json` 등)만 남긴다 | 루트에 스크린샷/로그/1회성 디버그 스크립트/빌드 산출물이 커밋된다 | ## Architecture Guardrails @@ -36,6 +37,9 @@ - 브라우저에서 발생한 JS 오류는 운영 장애 탐지를 위한 샘플 데이터로만 취급하고, 전체 이벤트 스트림을 보존하려는 설계는 금지한다. - 텔레그램 알림은 운영자의 주의 채널이지 이벤트 버스가 아니다. 같은 원인/같은 기간의 중복 알림은 억제하고, 리포트/오류/문의/시작 장애는 종류별 시간창을 분리한다. - 오류 알림에는 재현성 6요소를 포함한다: 화면, 기능, 액션, 단계, 데이터 식별자, 현재 라우트. 이 정보가 없으면 운영 대응이 끝나지 않은 것으로 본다. +- 루트에 새 파일을 직접 추가하지 않는다. 소스는 `src/`, 문서는 `docs/`, 테스트는 `tests/`, 스크립트는 `scripts/`, 마이그레이션은 `db/`, 배포 참조 설정은 `deploy/`에 둔다. +- 임시/스크래치 작업(스크린샷, 1회성 디버그 스크립트, 로그)은 저장소 밖(OS/세션 임시 폴더)에서 하고 절대 커밋하지 않는다. 저장소 안에서 꼭 필요하면 `.gitignore`에 등록된 `.scratch/`만 사용한다. +- 커밋 전 `git status`로 루트에 낯선 파일이 생기지 않았는지 확인한다. 빌드 산출물(runtimeconfig.json, deps.json, wwwroot 산출물 등)이 루트나 프로젝트 폴더 밖에 커밋되면 안 된다. - 재현 맥락은 페이지별 수동 JS 호출이 아니라 `AdminTelemetryContext` 같은 공통 컴포넌트가 담당한다. 새 어드민 화면은 레이아웃 경유 기본값을 자동 상속해야 하며, 예외만 명시적으로 덮어쓴다. ## Code Quality Harness @@ -100,8 +104,8 @@ | Gate | Command/Check | Target | | --- | --- | --- | -| Build | `dotnet build TaxBaik.sln -c Release --no-restore` | error 0 | -| Unit | `dotnet test TaxBaik.sln -c Release --no-build` | failed 0 | +| Build | `dotnet build src/TaxBaik.sln -c Release --no-restore` | error 0 | +| Unit | `dotnet test src/TaxBaik.sln -c Release --no-build` | failed 0 | | Browser | `npx playwright test --project="Desktop Chrome"` | failed 0 | | API Smoke | login + protected admin API curl | HTTP 2xx | | Deploy | `.gitea/workflows/deploy.yml` | success | diff --git a/scripts/validate_admin_render.sh b/scripts/validate_admin_render.sh index c3dc3e5..8d18fbe 100644 --- a/scripts/validate_admin_render.sh +++ b/scripts/validate_admin_render.sh @@ -15,9 +15,9 @@ set -euo pipefail # # See CLAUDE.md Phase 9 for architecture details. -app_file="TaxBaik.Web.Client/Components/Admin/App.razor" -routes_file="TaxBaik.Web.Client/Components/Admin/Routes.razor" -login_file="TaxBaik.Web.Client/Components/Admin/Pages/Login.razor" +app_file="src/TaxBaik.Web.Client/Components/Admin/App.razor" +routes_file="src/TaxBaik.Web.Client/Components/Admin/Routes.razor" +login_file="src/TaxBaik.Web.Client/Components/Admin/Pages/Login.razor" for file in "$app_file" "$routes_file" "$login_file"; do if [ ! -f "$file" ]; then @@ -64,7 +64,7 @@ while IFS= read -r -d '' page; do echo "⚠️ $page has no @rendermode directive (will not be interactive)." >&2 missing_rendermode=1 fi -done < <(find TaxBaik.Web.Client/Components/Admin/Pages -name "*.razor" -print0) +done < <(find src/TaxBaik.Web.Client/Components/Admin/Pages -name "*.razor" -print0) if [ "$missing_rendermode" -ne 0 ]; then echo "One or more admin pages are missing an explicit @rendermode directive." >&2 diff --git a/scripts/validate_kst_timestamps.sh b/scripts/validate_kst_timestamps.sh index d29da16..2a2110d 100644 --- a/scripts/validate_kst_timestamps.sh +++ b/scripts/validate_kst_timestamps.sh @@ -3,7 +3,6 @@ set -euo pipefail targets=( ".gitea/workflows/deploy.yml" - "deploy.sh" "deploy_gb.sh" ) diff --git a/TaxBaik.Application.Tests/BlogServiceTests.cs b/src/TaxBaik.Application.Tests/BlogServiceTests.cs similarity index 100% rename from TaxBaik.Application.Tests/BlogServiceTests.cs rename to src/TaxBaik.Application.Tests/BlogServiceTests.cs diff --git a/TaxBaik.Application.Tests/BusinessDayCalculatorTests.cs b/src/TaxBaik.Application.Tests/BusinessDayCalculatorTests.cs similarity index 100% rename from TaxBaik.Application.Tests/BusinessDayCalculatorTests.cs rename to src/TaxBaik.Application.Tests/BusinessDayCalculatorTests.cs diff --git a/TaxBaik.Application.Tests/CommonCodeServiceTests.cs b/src/TaxBaik.Application.Tests/CommonCodeServiceTests.cs similarity index 100% rename from TaxBaik.Application.Tests/CommonCodeServiceTests.cs rename to src/TaxBaik.Application.Tests/CommonCodeServiceTests.cs diff --git a/TaxBaik.Application.Tests/InquiryServiceTests.cs b/src/TaxBaik.Application.Tests/InquiryServiceTests.cs similarity index 100% rename from TaxBaik.Application.Tests/InquiryServiceTests.cs rename to src/TaxBaik.Application.Tests/InquiryServiceTests.cs diff --git a/TaxBaik.Application.Tests/SeasonalMarketingServiceTests.cs b/src/TaxBaik.Application.Tests/SeasonalMarketingServiceTests.cs similarity index 100% rename from TaxBaik.Application.Tests/SeasonalMarketingServiceTests.cs rename to src/TaxBaik.Application.Tests/SeasonalMarketingServiceTests.cs diff --git a/TaxBaik.Application.Tests/TaxBaik.Application.Tests.csproj b/src/TaxBaik.Application.Tests/TaxBaik.Application.Tests.csproj similarity index 100% rename from TaxBaik.Application.Tests/TaxBaik.Application.Tests.csproj rename to src/TaxBaik.Application.Tests/TaxBaik.Application.Tests.csproj diff --git a/TaxBaik.Application/Class1.cs b/src/TaxBaik.Application/Class1.cs similarity index 100% rename from TaxBaik.Application/Class1.cs rename to src/TaxBaik.Application/Class1.cs diff --git a/TaxBaik.Application/DTOs/AnnouncementDto.cs b/src/TaxBaik.Application/DTOs/AnnouncementDto.cs similarity index 100% rename from TaxBaik.Application/DTOs/AnnouncementDto.cs rename to src/TaxBaik.Application/DTOs/AnnouncementDto.cs diff --git a/TaxBaik.Application/DTOs/ClientDto.cs b/src/TaxBaik.Application/DTOs/ClientDto.cs similarity index 100% rename from TaxBaik.Application/DTOs/ClientDto.cs rename to src/TaxBaik.Application/DTOs/ClientDto.cs diff --git a/TaxBaik.Application/DTOs/CreateBlogPostDto.cs b/src/TaxBaik.Application/DTOs/CreateBlogPostDto.cs similarity index 100% rename from TaxBaik.Application/DTOs/CreateBlogPostDto.cs rename to src/TaxBaik.Application/DTOs/CreateBlogPostDto.cs diff --git a/TaxBaik.Application/DTOs/SubmitInquiryDto.cs b/src/TaxBaik.Application/DTOs/SubmitInquiryDto.cs similarity index 100% rename from TaxBaik.Application/DTOs/SubmitInquiryDto.cs rename to src/TaxBaik.Application/DTOs/SubmitInquiryDto.cs diff --git a/TaxBaik.Application/DTOs/UpdateInquiryDto.cs b/src/TaxBaik.Application/DTOs/UpdateInquiryDto.cs similarity index 100% rename from TaxBaik.Application/DTOs/UpdateInquiryDto.cs rename to src/TaxBaik.Application/DTOs/UpdateInquiryDto.cs diff --git a/TaxBaik.Application/DependencyInjection.cs b/src/TaxBaik.Application/DependencyInjection.cs similarity index 100% rename from TaxBaik.Application/DependencyInjection.cs rename to src/TaxBaik.Application/DependencyInjection.cs diff --git a/TaxBaik.Application/Seasonal/BusinessDayCalculator.cs b/src/TaxBaik.Application/Seasonal/BusinessDayCalculator.cs similarity index 100% rename from TaxBaik.Application/Seasonal/BusinessDayCalculator.cs rename to src/TaxBaik.Application/Seasonal/BusinessDayCalculator.cs diff --git a/TaxBaik.Application/Seasonal/CurrentSeasonDto.cs b/src/TaxBaik.Application/Seasonal/CurrentSeasonDto.cs similarity index 100% rename from TaxBaik.Application/Seasonal/CurrentSeasonDto.cs rename to src/TaxBaik.Application/Seasonal/CurrentSeasonDto.cs diff --git a/TaxBaik.Application/Seasonal/TaxSeason.cs b/src/TaxBaik.Application/Seasonal/TaxSeason.cs similarity index 100% rename from TaxBaik.Application/Seasonal/TaxSeason.cs rename to src/TaxBaik.Application/Seasonal/TaxSeason.cs diff --git a/TaxBaik.Application/Seasonal/TaxSeasonCalendar.cs b/src/TaxBaik.Application/Seasonal/TaxSeasonCalendar.cs similarity index 100% rename from TaxBaik.Application/Seasonal/TaxSeasonCalendar.cs rename to src/TaxBaik.Application/Seasonal/TaxSeasonCalendar.cs diff --git a/TaxBaik.Application/Services/AdminDashboardService.cs b/src/TaxBaik.Application/Services/AdminDashboardService.cs similarity index 100% rename from TaxBaik.Application/Services/AdminDashboardService.cs rename to src/TaxBaik.Application/Services/AdminDashboardService.cs diff --git a/TaxBaik.Application/Services/AnnouncementService.cs b/src/TaxBaik.Application/Services/AnnouncementService.cs similarity index 100% rename from TaxBaik.Application/Services/AnnouncementService.cs rename to src/TaxBaik.Application/Services/AnnouncementService.cs diff --git a/TaxBaik.Application/Services/BlogService.cs b/src/TaxBaik.Application/Services/BlogService.cs similarity index 100% rename from TaxBaik.Application/Services/BlogService.cs rename to src/TaxBaik.Application/Services/BlogService.cs diff --git a/TaxBaik.Application/Services/CategoryService.cs b/src/TaxBaik.Application/Services/CategoryService.cs similarity index 100% rename from TaxBaik.Application/Services/CategoryService.cs rename to src/TaxBaik.Application/Services/CategoryService.cs diff --git a/TaxBaik.Application/Services/ClientService.cs b/src/TaxBaik.Application/Services/ClientService.cs similarity index 100% rename from TaxBaik.Application/Services/ClientService.cs rename to src/TaxBaik.Application/Services/ClientService.cs diff --git a/TaxBaik.Application/Services/CommonCodeService.cs b/src/TaxBaik.Application/Services/CommonCodeService.cs similarity index 100% rename from TaxBaik.Application/Services/CommonCodeService.cs rename to src/TaxBaik.Application/Services/CommonCodeService.cs diff --git a/TaxBaik.Application/Services/CompanyService.cs b/src/TaxBaik.Application/Services/CompanyService.cs similarity index 100% rename from TaxBaik.Application/Services/CompanyService.cs rename to src/TaxBaik.Application/Services/CompanyService.cs diff --git a/TaxBaik.Application/Services/ConsultationService.cs b/src/TaxBaik.Application/Services/ConsultationService.cs similarity index 100% rename from TaxBaik.Application/Services/ConsultationService.cs rename to src/TaxBaik.Application/Services/ConsultationService.cs diff --git a/TaxBaik.Application/Services/ConsultingActivityService.cs b/src/TaxBaik.Application/Services/ConsultingActivityService.cs similarity index 100% rename from TaxBaik.Application/Services/ConsultingActivityService.cs rename to src/TaxBaik.Application/Services/ConsultingActivityService.cs diff --git a/TaxBaik.Application/Services/ContractService.cs b/src/TaxBaik.Application/Services/ContractService.cs similarity index 100% rename from TaxBaik.Application/Services/ContractService.cs rename to src/TaxBaik.Application/Services/ContractService.cs diff --git a/TaxBaik.Application/Services/FaqService.cs b/src/TaxBaik.Application/Services/FaqService.cs similarity index 100% rename from TaxBaik.Application/Services/FaqService.cs rename to src/TaxBaik.Application/Services/FaqService.cs diff --git a/TaxBaik.Application/Services/IInquiryNotificationService.cs b/src/TaxBaik.Application/Services/IInquiryNotificationService.cs similarity index 100% rename from TaxBaik.Application/Services/IInquiryNotificationService.cs rename to src/TaxBaik.Application/Services/IInquiryNotificationService.cs diff --git a/TaxBaik.Application/Services/InquiryService.cs b/src/TaxBaik.Application/Services/InquiryService.cs similarity index 100% rename from TaxBaik.Application/Services/InquiryService.cs rename to src/TaxBaik.Application/Services/InquiryService.cs diff --git a/TaxBaik.Application/Services/InquiryStatusMapper.cs b/src/TaxBaik.Application/Services/InquiryStatusMapper.cs similarity index 100% rename from TaxBaik.Application/Services/InquiryStatusMapper.cs rename to src/TaxBaik.Application/Services/InquiryStatusMapper.cs diff --git a/TaxBaik.Application/Services/NoopInquiryNotificationService.cs b/src/TaxBaik.Application/Services/NoopInquiryNotificationService.cs similarity index 100% rename from TaxBaik.Application/Services/NoopInquiryNotificationService.cs rename to src/TaxBaik.Application/Services/NoopInquiryNotificationService.cs diff --git a/TaxBaik.Application/Services/PortalUserService.cs b/src/TaxBaik.Application/Services/PortalUserService.cs similarity index 100% rename from TaxBaik.Application/Services/PortalUserService.cs rename to src/TaxBaik.Application/Services/PortalUserService.cs diff --git a/TaxBaik.Application/Services/RevenueTrackingService.cs b/src/TaxBaik.Application/Services/RevenueTrackingService.cs similarity index 100% rename from TaxBaik.Application/Services/RevenueTrackingService.cs rename to src/TaxBaik.Application/Services/RevenueTrackingService.cs diff --git a/TaxBaik.Application/Services/SeasonalMarketingService.cs b/src/TaxBaik.Application/Services/SeasonalMarketingService.cs similarity index 100% rename from TaxBaik.Application/Services/SeasonalMarketingService.cs rename to src/TaxBaik.Application/Services/SeasonalMarketingService.cs diff --git a/TaxBaik.Application/Services/SiteSettingService.cs b/src/TaxBaik.Application/Services/SiteSettingService.cs similarity index 100% rename from TaxBaik.Application/Services/SiteSettingService.cs rename to src/TaxBaik.Application/Services/SiteSettingService.cs diff --git a/TaxBaik.Application/Services/TaxFilingScheduleService.cs b/src/TaxBaik.Application/Services/TaxFilingScheduleService.cs similarity index 100% rename from TaxBaik.Application/Services/TaxFilingScheduleService.cs rename to src/TaxBaik.Application/Services/TaxFilingScheduleService.cs diff --git a/TaxBaik.Application/Services/TaxFilingService.cs b/src/TaxBaik.Application/Services/TaxFilingService.cs similarity index 100% rename from TaxBaik.Application/Services/TaxFilingService.cs rename to src/TaxBaik.Application/Services/TaxFilingService.cs diff --git a/TaxBaik.Application/Services/TaxProfileService.cs b/src/TaxBaik.Application/Services/TaxProfileService.cs similarity index 100% rename from TaxBaik.Application/Services/TaxProfileService.cs rename to src/TaxBaik.Application/Services/TaxProfileService.cs diff --git a/TaxBaik.Application/Services/TelegramReportService.cs b/src/TaxBaik.Application/Services/TelegramReportService.cs similarity index 100% rename from TaxBaik.Application/Services/TelegramReportService.cs rename to src/TaxBaik.Application/Services/TelegramReportService.cs diff --git a/TaxBaik.Application/TaxBaik.Application.csproj b/src/TaxBaik.Application/TaxBaik.Application.csproj similarity index 100% rename from TaxBaik.Application/TaxBaik.Application.csproj rename to src/TaxBaik.Application/TaxBaik.Application.csproj diff --git a/TaxBaik.Application/Utils/BusinessDayCalculator.cs b/src/TaxBaik.Application/Utils/BusinessDayCalculator.cs similarity index 100% rename from TaxBaik.Application/Utils/BusinessDayCalculator.cs rename to src/TaxBaik.Application/Utils/BusinessDayCalculator.cs diff --git a/TaxBaik.Application/Utils/VersionInfo.cs b/src/TaxBaik.Application/Utils/VersionInfo.cs similarity index 100% rename from TaxBaik.Application/Utils/VersionInfo.cs rename to src/TaxBaik.Application/Utils/VersionInfo.cs diff --git a/TaxBaik.Domain/Class1.cs b/src/TaxBaik.Domain/Class1.cs similarity index 100% rename from TaxBaik.Domain/Class1.cs rename to src/TaxBaik.Domain/Class1.cs diff --git a/TaxBaik.Domain/Entities/AdminUser.cs b/src/TaxBaik.Domain/Entities/AdminUser.cs similarity index 100% rename from TaxBaik.Domain/Entities/AdminUser.cs rename to src/TaxBaik.Domain/Entities/AdminUser.cs diff --git a/TaxBaik.Domain/Entities/Announcement.cs b/src/TaxBaik.Domain/Entities/Announcement.cs similarity index 100% rename from TaxBaik.Domain/Entities/Announcement.cs rename to src/TaxBaik.Domain/Entities/Announcement.cs diff --git a/TaxBaik.Domain/Entities/BlogPost.cs b/src/TaxBaik.Domain/Entities/BlogPost.cs similarity index 100% rename from TaxBaik.Domain/Entities/BlogPost.cs rename to src/TaxBaik.Domain/Entities/BlogPost.cs diff --git a/TaxBaik.Domain/Entities/Category.cs b/src/TaxBaik.Domain/Entities/Category.cs similarity index 100% rename from TaxBaik.Domain/Entities/Category.cs rename to src/TaxBaik.Domain/Entities/Category.cs diff --git a/TaxBaik.Domain/Entities/Client.cs b/src/TaxBaik.Domain/Entities/Client.cs similarity index 100% rename from TaxBaik.Domain/Entities/Client.cs rename to src/TaxBaik.Domain/Entities/Client.cs diff --git a/TaxBaik.Domain/Entities/CommonCode.cs b/src/TaxBaik.Domain/Entities/CommonCode.cs similarity index 100% rename from TaxBaik.Domain/Entities/CommonCode.cs rename to src/TaxBaik.Domain/Entities/CommonCode.cs diff --git a/TaxBaik.Domain/Entities/Company.cs b/src/TaxBaik.Domain/Entities/Company.cs similarity index 100% rename from TaxBaik.Domain/Entities/Company.cs rename to src/TaxBaik.Domain/Entities/Company.cs diff --git a/TaxBaik.Domain/Entities/Consultation.cs b/src/TaxBaik.Domain/Entities/Consultation.cs similarity index 100% rename from TaxBaik.Domain/Entities/Consultation.cs rename to src/TaxBaik.Domain/Entities/Consultation.cs diff --git a/TaxBaik.Domain/Entities/ConsultingActivity.cs b/src/TaxBaik.Domain/Entities/ConsultingActivity.cs similarity index 100% rename from TaxBaik.Domain/Entities/ConsultingActivity.cs rename to src/TaxBaik.Domain/Entities/ConsultingActivity.cs diff --git a/TaxBaik.Domain/Entities/Contract.cs b/src/TaxBaik.Domain/Entities/Contract.cs similarity index 100% rename from TaxBaik.Domain/Entities/Contract.cs rename to src/TaxBaik.Domain/Entities/Contract.cs diff --git a/TaxBaik.Domain/Entities/Faq.cs b/src/TaxBaik.Domain/Entities/Faq.cs similarity index 100% rename from TaxBaik.Domain/Entities/Faq.cs rename to src/TaxBaik.Domain/Entities/Faq.cs diff --git a/TaxBaik.Domain/Entities/Inquiry.cs b/src/TaxBaik.Domain/Entities/Inquiry.cs similarity index 100% rename from TaxBaik.Domain/Entities/Inquiry.cs rename to src/TaxBaik.Domain/Entities/Inquiry.cs diff --git a/TaxBaik.Domain/Entities/PortalUser.cs b/src/TaxBaik.Domain/Entities/PortalUser.cs similarity index 100% rename from TaxBaik.Domain/Entities/PortalUser.cs rename to src/TaxBaik.Domain/Entities/PortalUser.cs diff --git a/TaxBaik.Domain/Entities/RevenueTracking.cs b/src/TaxBaik.Domain/Entities/RevenueTracking.cs similarity index 100% rename from TaxBaik.Domain/Entities/RevenueTracking.cs rename to src/TaxBaik.Domain/Entities/RevenueTracking.cs diff --git a/TaxBaik.Domain/Entities/SiteSetting.cs b/src/TaxBaik.Domain/Entities/SiteSetting.cs similarity index 100% rename from TaxBaik.Domain/Entities/SiteSetting.cs rename to src/TaxBaik.Domain/Entities/SiteSetting.cs diff --git a/TaxBaik.Domain/Entities/TaxFiling.cs b/src/TaxBaik.Domain/Entities/TaxFiling.cs similarity index 100% rename from TaxBaik.Domain/Entities/TaxFiling.cs rename to src/TaxBaik.Domain/Entities/TaxFiling.cs diff --git a/TaxBaik.Domain/Entities/TaxFilingSchedule.cs b/src/TaxBaik.Domain/Entities/TaxFilingSchedule.cs similarity index 100% rename from TaxBaik.Domain/Entities/TaxFilingSchedule.cs rename to src/TaxBaik.Domain/Entities/TaxFilingSchedule.cs diff --git a/TaxBaik.Domain/Entities/TaxProfile.cs b/src/TaxBaik.Domain/Entities/TaxProfile.cs similarity index 100% rename from TaxBaik.Domain/Entities/TaxProfile.cs rename to src/TaxBaik.Domain/Entities/TaxProfile.cs diff --git a/TaxBaik.Domain/Enums/InquiryStatus.cs b/src/TaxBaik.Domain/Enums/InquiryStatus.cs similarity index 100% rename from TaxBaik.Domain/Enums/InquiryStatus.cs rename to src/TaxBaik.Domain/Enums/InquiryStatus.cs diff --git a/TaxBaik.Domain/Enums/ServiceType.cs b/src/TaxBaik.Domain/Enums/ServiceType.cs similarity index 100% rename from TaxBaik.Domain/Enums/ServiceType.cs rename to src/TaxBaik.Domain/Enums/ServiceType.cs diff --git a/TaxBaik.Domain/Interfaces/IAdminUserRepository.cs b/src/TaxBaik.Domain/Interfaces/IAdminUserRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/IAdminUserRepository.cs rename to src/TaxBaik.Domain/Interfaces/IAdminUserRepository.cs diff --git a/TaxBaik.Domain/Interfaces/IAnnouncementRepository.cs b/src/TaxBaik.Domain/Interfaces/IAnnouncementRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/IAnnouncementRepository.cs rename to src/TaxBaik.Domain/Interfaces/IAnnouncementRepository.cs diff --git a/TaxBaik.Domain/Interfaces/IBlogPostRepository.cs b/src/TaxBaik.Domain/Interfaces/IBlogPostRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/IBlogPostRepository.cs rename to src/TaxBaik.Domain/Interfaces/IBlogPostRepository.cs diff --git a/TaxBaik.Domain/Interfaces/ICategoryRepository.cs b/src/TaxBaik.Domain/Interfaces/ICategoryRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/ICategoryRepository.cs rename to src/TaxBaik.Domain/Interfaces/ICategoryRepository.cs diff --git a/TaxBaik.Domain/Interfaces/IClientRepository.cs b/src/TaxBaik.Domain/Interfaces/IClientRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/IClientRepository.cs rename to src/TaxBaik.Domain/Interfaces/IClientRepository.cs diff --git a/TaxBaik.Domain/Interfaces/ICommonCodeRepository.cs b/src/TaxBaik.Domain/Interfaces/ICommonCodeRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/ICommonCodeRepository.cs rename to src/TaxBaik.Domain/Interfaces/ICommonCodeRepository.cs diff --git a/TaxBaik.Domain/Interfaces/ICompanyRepository.cs b/src/TaxBaik.Domain/Interfaces/ICompanyRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/ICompanyRepository.cs rename to src/TaxBaik.Domain/Interfaces/ICompanyRepository.cs diff --git a/TaxBaik.Domain/Interfaces/IConsultationRepository.cs b/src/TaxBaik.Domain/Interfaces/IConsultationRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/IConsultationRepository.cs rename to src/TaxBaik.Domain/Interfaces/IConsultationRepository.cs diff --git a/TaxBaik.Domain/Interfaces/IConsultingActivityRepository.cs b/src/TaxBaik.Domain/Interfaces/IConsultingActivityRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/IConsultingActivityRepository.cs rename to src/TaxBaik.Domain/Interfaces/IConsultingActivityRepository.cs diff --git a/TaxBaik.Domain/Interfaces/IContractRepository.cs b/src/TaxBaik.Domain/Interfaces/IContractRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/IContractRepository.cs rename to src/TaxBaik.Domain/Interfaces/IContractRepository.cs diff --git a/TaxBaik.Domain/Interfaces/IDbConnectionFactory.cs b/src/TaxBaik.Domain/Interfaces/IDbConnectionFactory.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/IDbConnectionFactory.cs rename to src/TaxBaik.Domain/Interfaces/IDbConnectionFactory.cs diff --git a/TaxBaik.Domain/Interfaces/IFaqRepository.cs b/src/TaxBaik.Domain/Interfaces/IFaqRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/IFaqRepository.cs rename to src/TaxBaik.Domain/Interfaces/IFaqRepository.cs diff --git a/TaxBaik.Domain/Interfaces/IInquiryRepository.cs b/src/TaxBaik.Domain/Interfaces/IInquiryRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/IInquiryRepository.cs rename to src/TaxBaik.Domain/Interfaces/IInquiryRepository.cs diff --git a/TaxBaik.Domain/Interfaces/IPortalUserRepository.cs b/src/TaxBaik.Domain/Interfaces/IPortalUserRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/IPortalUserRepository.cs rename to src/TaxBaik.Domain/Interfaces/IPortalUserRepository.cs diff --git a/TaxBaik.Domain/Interfaces/IRevenueTrackingRepository.cs b/src/TaxBaik.Domain/Interfaces/IRevenueTrackingRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/IRevenueTrackingRepository.cs rename to src/TaxBaik.Domain/Interfaces/IRevenueTrackingRepository.cs diff --git a/TaxBaik.Domain/Interfaces/ISiteSettingRepository.cs b/src/TaxBaik.Domain/Interfaces/ISiteSettingRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/ISiteSettingRepository.cs rename to src/TaxBaik.Domain/Interfaces/ISiteSettingRepository.cs diff --git a/TaxBaik.Domain/Interfaces/ITaxFilingRepository.cs b/src/TaxBaik.Domain/Interfaces/ITaxFilingRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/ITaxFilingRepository.cs rename to src/TaxBaik.Domain/Interfaces/ITaxFilingRepository.cs diff --git a/TaxBaik.Domain/Interfaces/ITaxFilingScheduleRepository.cs b/src/TaxBaik.Domain/Interfaces/ITaxFilingScheduleRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/ITaxFilingScheduleRepository.cs rename to src/TaxBaik.Domain/Interfaces/ITaxFilingScheduleRepository.cs diff --git a/TaxBaik.Domain/Interfaces/ITaxProfileRepository.cs b/src/TaxBaik.Domain/Interfaces/ITaxProfileRepository.cs similarity index 100% rename from TaxBaik.Domain/Interfaces/ITaxProfileRepository.cs rename to src/TaxBaik.Domain/Interfaces/ITaxProfileRepository.cs diff --git a/TaxBaik.Domain/TaxBaik.Domain.csproj b/src/TaxBaik.Domain/TaxBaik.Domain.csproj similarity index 100% rename from TaxBaik.Domain/TaxBaik.Domain.csproj rename to src/TaxBaik.Domain/TaxBaik.Domain.csproj diff --git a/TaxBaik.Infrastructure/Class1.cs b/src/TaxBaik.Infrastructure/Class1.cs similarity index 100% rename from TaxBaik.Infrastructure/Class1.cs rename to src/TaxBaik.Infrastructure/Class1.cs diff --git a/TaxBaik.Infrastructure/Data/DbConnectionFactory.cs b/src/TaxBaik.Infrastructure/Data/DbConnectionFactory.cs similarity index 100% rename from TaxBaik.Infrastructure/Data/DbConnectionFactory.cs rename to src/TaxBaik.Infrastructure/Data/DbConnectionFactory.cs diff --git a/TaxBaik.Infrastructure/Data/MigrationRunner.cs b/src/TaxBaik.Infrastructure/Data/MigrationRunner.cs similarity index 100% rename from TaxBaik.Infrastructure/Data/MigrationRunner.cs rename to src/TaxBaik.Infrastructure/Data/MigrationRunner.cs diff --git a/TaxBaik.Infrastructure/DependencyInjection.cs b/src/TaxBaik.Infrastructure/DependencyInjection.cs similarity index 100% rename from TaxBaik.Infrastructure/DependencyInjection.cs rename to src/TaxBaik.Infrastructure/DependencyInjection.cs diff --git a/TaxBaik.Infrastructure/Repositories/AdminUserRepository.cs b/src/TaxBaik.Infrastructure/Repositories/AdminUserRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/AdminUserRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/AdminUserRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/AnnouncementRepository.cs b/src/TaxBaik.Infrastructure/Repositories/AnnouncementRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/AnnouncementRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/AnnouncementRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/BaseRepository.cs b/src/TaxBaik.Infrastructure/Repositories/BaseRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/BaseRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/BaseRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/BlogPostRepository.cs b/src/TaxBaik.Infrastructure/Repositories/BlogPostRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/BlogPostRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/BlogPostRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/CategoryRepository.cs b/src/TaxBaik.Infrastructure/Repositories/CategoryRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/CategoryRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/CategoryRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/ClientRepository.cs b/src/TaxBaik.Infrastructure/Repositories/ClientRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/ClientRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/ClientRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/CommonCodeRepository.cs b/src/TaxBaik.Infrastructure/Repositories/CommonCodeRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/CommonCodeRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/CommonCodeRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/CompanyRepository.cs b/src/TaxBaik.Infrastructure/Repositories/CompanyRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/CompanyRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/CompanyRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/ConsultationRepository.cs b/src/TaxBaik.Infrastructure/Repositories/ConsultationRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/ConsultationRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/ConsultationRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/ConsultingActivityRepository.cs b/src/TaxBaik.Infrastructure/Repositories/ConsultingActivityRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/ConsultingActivityRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/ConsultingActivityRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/ContractRepository.cs b/src/TaxBaik.Infrastructure/Repositories/ContractRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/ContractRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/ContractRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/FaqRepository.cs b/src/TaxBaik.Infrastructure/Repositories/FaqRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/FaqRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/FaqRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/InquiryRepository.cs b/src/TaxBaik.Infrastructure/Repositories/InquiryRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/InquiryRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/InquiryRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/PortalUserRepository.cs b/src/TaxBaik.Infrastructure/Repositories/PortalUserRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/PortalUserRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/PortalUserRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/RevenueTrackingRepository.cs b/src/TaxBaik.Infrastructure/Repositories/RevenueTrackingRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/RevenueTrackingRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/RevenueTrackingRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/SiteSettingRepository.cs b/src/TaxBaik.Infrastructure/Repositories/SiteSettingRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/SiteSettingRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/SiteSettingRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/TaxFilingRepository.cs b/src/TaxBaik.Infrastructure/Repositories/TaxFilingRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/TaxFilingRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/TaxFilingRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/TaxFilingScheduleRepository.cs b/src/TaxBaik.Infrastructure/Repositories/TaxFilingScheduleRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/TaxFilingScheduleRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/TaxFilingScheduleRepository.cs diff --git a/TaxBaik.Infrastructure/Repositories/TaxProfileRepository.cs b/src/TaxBaik.Infrastructure/Repositories/TaxProfileRepository.cs similarity index 100% rename from TaxBaik.Infrastructure/Repositories/TaxProfileRepository.cs rename to src/TaxBaik.Infrastructure/Repositories/TaxProfileRepository.cs diff --git a/TaxBaik.Infrastructure/TaxBaik.Infrastructure.csproj b/src/TaxBaik.Infrastructure/TaxBaik.Infrastructure.csproj similarity index 100% rename from TaxBaik.Infrastructure/TaxBaik.Infrastructure.csproj rename to src/TaxBaik.Infrastructure/TaxBaik.Infrastructure.csproj diff --git a/TaxBaik.Proxy/Program.cs b/src/TaxBaik.Proxy/Program.cs similarity index 100% rename from TaxBaik.Proxy/Program.cs rename to src/TaxBaik.Proxy/Program.cs diff --git a/TaxBaik.Proxy/TaxBaik.Proxy.csproj b/src/TaxBaik.Proxy/TaxBaik.Proxy.csproj similarity index 100% rename from TaxBaik.Proxy/TaxBaik.Proxy.csproj rename to src/TaxBaik.Proxy/TaxBaik.Proxy.csproj diff --git a/TaxBaik.Web.Client/Components/Admin/App.razor b/src/TaxBaik.Web.Client/Components/Admin/App.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/App.razor rename to src/TaxBaik.Web.Client/Components/Admin/App.razor diff --git a/TaxBaik.Web.Client/Components/Admin/ConfirmDialog.razor b/src/TaxBaik.Web.Client/Components/Admin/ConfirmDialog.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/ConfirmDialog.razor rename to src/TaxBaik.Web.Client/Components/Admin/ConfirmDialog.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Forms/CompanyForm.razor b/src/TaxBaik.Web.Client/Components/Admin/Forms/CompanyForm.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Forms/CompanyForm.razor rename to src/TaxBaik.Web.Client/Components/Admin/Forms/CompanyForm.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Forms/InquiryForm.razor b/src/TaxBaik.Web.Client/Components/Admin/Forms/InquiryForm.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Forms/InquiryForm.razor rename to src/TaxBaik.Web.Client/Components/Admin/Forms/InquiryForm.razor diff --git a/TaxBaik.Web.Client/Components/Admin/InquiryTable.razor b/src/TaxBaik.Web.Client/Components/Admin/InquiryTable.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/InquiryTable.razor rename to src/TaxBaik.Web.Client/Components/Admin/InquiryTable.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Layout/BlankLayout.razor b/src/TaxBaik.Web.Client/Components/Admin/Layout/BlankLayout.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Layout/BlankLayout.razor rename to src/TaxBaik.Web.Client/Components/Admin/Layout/BlankLayout.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Layout/MainLayout.razor b/src/TaxBaik.Web.Client/Components/Admin/Layout/MainLayout.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Layout/MainLayout.razor rename to src/TaxBaik.Web.Client/Components/Admin/Layout/MainLayout.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/AdminIndex.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/AdminIndex.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/AdminIndex.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/AdminIndex.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Announcements/AnnouncementEdit.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Announcements/AnnouncementEdit.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Announcements/AnnouncementEdit.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Announcements/AnnouncementEdit.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Announcements/AnnouncementList.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Announcements/AnnouncementList.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Announcements/AnnouncementList.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Announcements/AnnouncementList.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogCreate.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogCreate.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogCreate.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogCreate.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogEdit.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogEdit.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogEdit.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogEdit.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogForm.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogForm.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogForm.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogForm.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogList.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogList.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogList.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Blog/BlogList.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Clients/ClientDetail.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Clients/ClientDetail.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Clients/ClientDetail.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Clients/ClientDetail.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Clients/ClientEdit.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Clients/ClientEdit.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Clients/ClientEdit.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Clients/ClientEdit.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Clients/ClientList.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Clients/ClientList.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Clients/ClientList.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Clients/ClientList.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/CommonCodes.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/CommonCodes.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/CommonCodes.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/CommonCodes.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Companies/CompanyCreate.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Companies/CompanyCreate.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Companies/CompanyCreate.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Companies/CompanyCreate.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Companies/CompanyEdit.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Companies/CompanyEdit.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Companies/CompanyEdit.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Companies/CompanyEdit.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Companies/CompanyList.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Companies/CompanyList.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Companies/CompanyList.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Companies/CompanyList.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/ConsultingActivities.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/ConsultingActivities.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/ConsultingActivities.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/ConsultingActivities.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Contracts.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Contracts.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Contracts.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Contracts.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Dashboard.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Dashboard.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Dashboard.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Dashboard.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Faqs/FaqEdit.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Faqs/FaqEdit.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Faqs/FaqEdit.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Faqs/FaqEdit.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Faqs/FaqList.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Faqs/FaqList.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Faqs/FaqList.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Faqs/FaqList.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryCreate.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryCreate.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryCreate.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryCreate.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryDetail.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryDetail.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryDetail.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryDetail.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryEdit.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryEdit.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryEdit.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryEdit.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryList.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryList.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryList.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryList.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Login.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Login.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Login.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Login.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Logout.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Logout.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Logout.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Logout.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/RevenueTrackings.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/RevenueTrackings.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/RevenueTrackings.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/RevenueTrackings.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/SeasonSimulator.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/SeasonSimulator.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/SeasonSimulator.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/SeasonSimulator.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/Settings/SiteSettings.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Settings/SiteSettings.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/Settings/SiteSettings.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/Settings/SiteSettings.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/TaxFilingSchedules.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/TaxFilingSchedules.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/TaxFilingSchedules.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/TaxFilingSchedules.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/TaxFilings/FilingTable.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/TaxFilings/FilingTable.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/TaxFilings/FilingTable.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/TaxFilings/FilingTable.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/TaxFilings/TaxFilingList.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/TaxFilings/TaxFilingList.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/TaxFilings/TaxFilingList.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/TaxFilings/TaxFilingList.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Pages/TaxProfiles.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/TaxProfiles.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Pages/TaxProfiles.razor rename to src/TaxBaik.Web.Client/Components/Admin/Pages/TaxProfiles.razor diff --git a/TaxBaik.Web.Client/Components/Admin/RedirectToLogin.razor b/src/TaxBaik.Web.Client/Components/Admin/RedirectToLogin.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/RedirectToLogin.razor rename to src/TaxBaik.Web.Client/Components/Admin/RedirectToLogin.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Routes.razor b/src/TaxBaik.Web.Client/Components/Admin/Routes.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Routes.razor rename to src/TaxBaik.Web.Client/Components/Admin/Routes.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/AdminCrudPageShell.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminCrudPageShell.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/AdminCrudPageShell.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/AdminCrudPageShell.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/AdminDataPanel.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminDataPanel.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/AdminDataPanel.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/AdminDataPanel.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/AdminDetailSection.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminDetailSection.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/AdminDetailSection.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/AdminDetailSection.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/AdminEditorPanel.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminEditorPanel.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/AdminEditorPanel.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/AdminEditorPanel.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/AdminEmptyState.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminEmptyState.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/AdminEmptyState.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/AdminEmptyState.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/AdminFormActions.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminFormActions.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/AdminFormActions.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/AdminFormActions.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/AdminFormSection.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminFormSection.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/AdminFormSection.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/AdminFormSection.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/AdminLoginForm.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminLoginForm.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/AdminLoginForm.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/AdminLoginForm.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/AdminMetricCard.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminMetricCard.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/AdminMetricCard.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/AdminMetricCard.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/AdminPageHeader.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminPageHeader.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/AdminPageHeader.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/AdminPageHeader.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/AdminShell.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminShell.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/AdminShell.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/AdminShell.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/AdminSkeletonRows.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminSkeletonRows.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/AdminSkeletonRows.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/AdminSkeletonRows.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/AdminTelemetryContext.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminTelemetryContext.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/AdminTelemetryContext.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/AdminTelemetryContext.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/CommonCodeGroupPanel.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/CommonCodeGroupPanel.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/CommonCodeGroupPanel.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/CommonCodeGroupPanel.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/CommonCodeListPanel.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/CommonCodeListPanel.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/CommonCodeListPanel.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/CommonCodeListPanel.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/CommonCodeSelect.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/CommonCodeSelect.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/CommonCodeSelect.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/CommonCodeSelect.razor diff --git a/TaxBaik.Web.Client/Components/Admin/Shared/ConfirmDialog.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/ConfirmDialog.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/Shared/ConfirmDialog.razor rename to src/TaxBaik.Web.Client/Components/Admin/Shared/ConfirmDialog.razor diff --git a/TaxBaik.Web.Client/Components/Admin/_Imports.razor b/src/TaxBaik.Web.Client/Components/Admin/_Imports.razor similarity index 100% rename from TaxBaik.Web.Client/Components/Admin/_Imports.razor rename to src/TaxBaik.Web.Client/Components/Admin/_Imports.razor diff --git a/TaxBaik.Web.Client/GlobalUsings.cs b/src/TaxBaik.Web.Client/GlobalUsings.cs similarity index 100% rename from TaxBaik.Web.Client/GlobalUsings.cs rename to src/TaxBaik.Web.Client/GlobalUsings.cs diff --git a/TaxBaik.Web.Client/Pages/WasmPing.razor b/src/TaxBaik.Web.Client/Pages/WasmPing.razor similarity index 100% rename from TaxBaik.Web.Client/Pages/WasmPing.razor rename to src/TaxBaik.Web.Client/Pages/WasmPing.razor diff --git a/TaxBaik.Web.Client/Program.cs b/src/TaxBaik.Web.Client/Program.cs similarity index 100% rename from TaxBaik.Web.Client/Program.cs rename to src/TaxBaik.Web.Client/Program.cs diff --git a/TaxBaik.Web.Client/Services/AdminClients/ICommonCodeBrowserClient.cs b/src/TaxBaik.Web.Client/Services/AdminClients/ICommonCodeBrowserClient.cs similarity index 100% rename from TaxBaik.Web.Client/Services/AdminClients/ICommonCodeBrowserClient.cs rename to src/TaxBaik.Web.Client/Services/AdminClients/ICommonCodeBrowserClient.cs diff --git a/TaxBaik.Web.Client/Services/AdminClients/IConsultingActivityBrowserClient.cs b/src/TaxBaik.Web.Client/Services/AdminClients/IConsultingActivityBrowserClient.cs similarity index 100% rename from TaxBaik.Web.Client/Services/AdminClients/IConsultingActivityBrowserClient.cs rename to src/TaxBaik.Web.Client/Services/AdminClients/IConsultingActivityBrowserClient.cs diff --git a/TaxBaik.Web.Client/Services/AdminClients/IContractBrowserClient.cs b/src/TaxBaik.Web.Client/Services/AdminClients/IContractBrowserClient.cs similarity index 100% rename from TaxBaik.Web.Client/Services/AdminClients/IContractBrowserClient.cs rename to src/TaxBaik.Web.Client/Services/AdminClients/IContractBrowserClient.cs diff --git a/TaxBaik.Web.Client/Services/AdminClients/IRevenueTrackingBrowserClient.cs b/src/TaxBaik.Web.Client/Services/AdminClients/IRevenueTrackingBrowserClient.cs similarity index 100% rename from TaxBaik.Web.Client/Services/AdminClients/IRevenueTrackingBrowserClient.cs rename to src/TaxBaik.Web.Client/Services/AdminClients/IRevenueTrackingBrowserClient.cs diff --git a/TaxBaik.Web.Client/Services/AdminClients/ITaxFilingScheduleBrowserClient.cs b/src/TaxBaik.Web.Client/Services/AdminClients/ITaxFilingScheduleBrowserClient.cs similarity index 100% rename from TaxBaik.Web.Client/Services/AdminClients/ITaxFilingScheduleBrowserClient.cs rename to src/TaxBaik.Web.Client/Services/AdminClients/ITaxFilingScheduleBrowserClient.cs diff --git a/TaxBaik.Web.Client/Services/AdminClients/ITaxProfileBrowserClient.cs b/src/TaxBaik.Web.Client/Services/AdminClients/ITaxProfileBrowserClient.cs similarity index 100% rename from TaxBaik.Web.Client/Services/AdminClients/ITaxProfileBrowserClient.cs rename to src/TaxBaik.Web.Client/Services/AdminClients/ITaxProfileBrowserClient.cs diff --git a/TaxBaik.Web.Client/Services/AdminDashboardClient.cs b/src/TaxBaik.Web.Client/Services/AdminDashboardClient.cs similarity index 100% rename from TaxBaik.Web.Client/Services/AdminDashboardClient.cs rename to src/TaxBaik.Web.Client/Services/AdminDashboardClient.cs diff --git a/TaxBaik.Web.Client/Services/AnnouncementBrowserClient.cs b/src/TaxBaik.Web.Client/Services/AnnouncementBrowserClient.cs similarity index 100% rename from TaxBaik.Web.Client/Services/AnnouncementBrowserClient.cs rename to src/TaxBaik.Web.Client/Services/AnnouncementBrowserClient.cs diff --git a/TaxBaik.Web.Client/Services/ApiClient.cs b/src/TaxBaik.Web.Client/Services/ApiClient.cs similarity index 100% rename from TaxBaik.Web.Client/Services/ApiClient.cs rename to src/TaxBaik.Web.Client/Services/ApiClient.cs diff --git a/TaxBaik.Web.Client/Services/BlogBrowserClient.cs b/src/TaxBaik.Web.Client/Services/BlogBrowserClient.cs similarity index 100% rename from TaxBaik.Web.Client/Services/BlogBrowserClient.cs rename to src/TaxBaik.Web.Client/Services/BlogBrowserClient.cs diff --git a/TaxBaik.Web.Client/Services/CategoryBrowserClient.cs b/src/TaxBaik.Web.Client/Services/CategoryBrowserClient.cs similarity index 100% rename from TaxBaik.Web.Client/Services/CategoryBrowserClient.cs rename to src/TaxBaik.Web.Client/Services/CategoryBrowserClient.cs diff --git a/TaxBaik.Web.Client/Services/ClientBrowserClient.cs b/src/TaxBaik.Web.Client/Services/ClientBrowserClient.cs similarity index 100% rename from TaxBaik.Web.Client/Services/ClientBrowserClient.cs rename to src/TaxBaik.Web.Client/Services/ClientBrowserClient.cs diff --git a/TaxBaik.Web.Client/Services/CustomAuthenticationStateProvider.cs b/src/TaxBaik.Web.Client/Services/CustomAuthenticationStateProvider.cs similarity index 100% rename from TaxBaik.Web.Client/Services/CustomAuthenticationStateProvider.cs rename to src/TaxBaik.Web.Client/Services/CustomAuthenticationStateProvider.cs diff --git a/TaxBaik.Web.Client/Services/FaqBrowserClient.cs b/src/TaxBaik.Web.Client/Services/FaqBrowserClient.cs similarity index 100% rename from TaxBaik.Web.Client/Services/FaqBrowserClient.cs rename to src/TaxBaik.Web.Client/Services/FaqBrowserClient.cs diff --git a/TaxBaik.Web.Client/Services/ILocalStorageService.cs b/src/TaxBaik.Web.Client/Services/ILocalStorageService.cs similarity index 100% rename from TaxBaik.Web.Client/Services/ILocalStorageService.cs rename to src/TaxBaik.Web.Client/Services/ILocalStorageService.cs diff --git a/TaxBaik.Web.Client/Services/ITokenStore.cs b/src/TaxBaik.Web.Client/Services/ITokenStore.cs similarity index 100% rename from TaxBaik.Web.Client/Services/ITokenStore.cs rename to src/TaxBaik.Web.Client/Services/ITokenStore.cs diff --git a/TaxBaik.Web.Client/Services/InquiryBrowserClient.cs b/src/TaxBaik.Web.Client/Services/InquiryBrowserClient.cs similarity index 100% rename from TaxBaik.Web.Client/Services/InquiryBrowserClient.cs rename to src/TaxBaik.Web.Client/Services/InquiryBrowserClient.cs diff --git a/TaxBaik.Web.Client/Services/LocalStorageService.cs b/src/TaxBaik.Web.Client/Services/LocalStorageService.cs similarity index 100% rename from TaxBaik.Web.Client/Services/LocalStorageService.cs rename to src/TaxBaik.Web.Client/Services/LocalStorageService.cs diff --git a/TaxBaik.Web.Client/Services/TaxFilingBrowserClient.cs b/src/TaxBaik.Web.Client/Services/TaxFilingBrowserClient.cs similarity index 100% rename from TaxBaik.Web.Client/Services/TaxFilingBrowserClient.cs rename to src/TaxBaik.Web.Client/Services/TaxFilingBrowserClient.cs diff --git a/TaxBaik.Web.Client/Services/TokenRefreshHandler.cs b/src/TaxBaik.Web.Client/Services/TokenRefreshHandler.cs similarity index 100% rename from TaxBaik.Web.Client/Services/TokenRefreshHandler.cs rename to src/TaxBaik.Web.Client/Services/TokenRefreshHandler.cs diff --git a/TaxBaik.Web.Client/TaxBaik.Web.Client.csproj b/src/TaxBaik.Web.Client/TaxBaik.Web.Client.csproj similarity index 100% rename from TaxBaik.Web.Client/TaxBaik.Web.Client.csproj rename to src/TaxBaik.Web.Client/TaxBaik.Web.Client.csproj diff --git a/TaxBaik.Web.Client/_Imports.razor b/src/TaxBaik.Web.Client/_Imports.razor similarity index 100% rename from TaxBaik.Web.Client/_Imports.razor rename to src/TaxBaik.Web.Client/_Imports.razor diff --git a/TaxBaik.Web.Client/wwwroot/index.html b/src/TaxBaik.Web.Client/wwwroot/index.html similarity index 100% rename from TaxBaik.Web.Client/wwwroot/index.html rename to src/TaxBaik.Web.Client/wwwroot/index.html diff --git a/TaxBaik.Web/Controllers/AdminDashboardController.cs b/src/TaxBaik.Web/Controllers/AdminDashboardController.cs similarity index 100% rename from TaxBaik.Web/Controllers/AdminDashboardController.cs rename to src/TaxBaik.Web/Controllers/AdminDashboardController.cs diff --git a/TaxBaik.Web/Controllers/AnnouncementController.cs b/src/TaxBaik.Web/Controllers/AnnouncementController.cs similarity index 100% rename from TaxBaik.Web/Controllers/AnnouncementController.cs rename to src/TaxBaik.Web/Controllers/AnnouncementController.cs diff --git a/TaxBaik.Web/Controllers/AuthController.cs b/src/TaxBaik.Web/Controllers/AuthController.cs similarity index 100% rename from TaxBaik.Web/Controllers/AuthController.cs rename to src/TaxBaik.Web/Controllers/AuthController.cs diff --git a/TaxBaik.Web/Controllers/BlogController.cs b/src/TaxBaik.Web/Controllers/BlogController.cs similarity index 100% rename from TaxBaik.Web/Controllers/BlogController.cs rename to src/TaxBaik.Web/Controllers/BlogController.cs diff --git a/TaxBaik.Web/Controllers/CategoryController.cs b/src/TaxBaik.Web/Controllers/CategoryController.cs similarity index 100% rename from TaxBaik.Web/Controllers/CategoryController.cs rename to src/TaxBaik.Web/Controllers/CategoryController.cs diff --git a/TaxBaik.Web/Controllers/ClientController.cs b/src/TaxBaik.Web/Controllers/ClientController.cs similarity index 100% rename from TaxBaik.Web/Controllers/ClientController.cs rename to src/TaxBaik.Web/Controllers/ClientController.cs diff --git a/TaxBaik.Web/Controllers/ClientLogsController.cs b/src/TaxBaik.Web/Controllers/ClientLogsController.cs similarity index 100% rename from TaxBaik.Web/Controllers/ClientLogsController.cs rename to src/TaxBaik.Web/Controllers/ClientLogsController.cs diff --git a/TaxBaik.Web/Controllers/CommonCodeController.cs b/src/TaxBaik.Web/Controllers/CommonCodeController.cs similarity index 100% rename from TaxBaik.Web/Controllers/CommonCodeController.cs rename to src/TaxBaik.Web/Controllers/CommonCodeController.cs diff --git a/TaxBaik.Web/Controllers/CompanyController.cs b/src/TaxBaik.Web/Controllers/CompanyController.cs similarity index 100% rename from TaxBaik.Web/Controllers/CompanyController.cs rename to src/TaxBaik.Web/Controllers/CompanyController.cs diff --git a/TaxBaik.Web/Controllers/ConsultingActivityController.cs b/src/TaxBaik.Web/Controllers/ConsultingActivityController.cs similarity index 100% rename from TaxBaik.Web/Controllers/ConsultingActivityController.cs rename to src/TaxBaik.Web/Controllers/ConsultingActivityController.cs diff --git a/TaxBaik.Web/Controllers/ContractController.cs b/src/TaxBaik.Web/Controllers/ContractController.cs similarity index 100% rename from TaxBaik.Web/Controllers/ContractController.cs rename to src/TaxBaik.Web/Controllers/ContractController.cs diff --git a/TaxBaik.Web/Controllers/FaqController.cs b/src/TaxBaik.Web/Controllers/FaqController.cs similarity index 100% rename from TaxBaik.Web/Controllers/FaqController.cs rename to src/TaxBaik.Web/Controllers/FaqController.cs diff --git a/TaxBaik.Web/Controllers/InquiryController.cs b/src/TaxBaik.Web/Controllers/InquiryController.cs similarity index 100% rename from TaxBaik.Web/Controllers/InquiryController.cs rename to src/TaxBaik.Web/Controllers/InquiryController.cs diff --git a/TaxBaik.Web/Controllers/RevenueTrackingController.cs b/src/TaxBaik.Web/Controllers/RevenueTrackingController.cs similarity index 100% rename from TaxBaik.Web/Controllers/RevenueTrackingController.cs rename to src/TaxBaik.Web/Controllers/RevenueTrackingController.cs diff --git a/TaxBaik.Web/Controllers/SiteSettingsController.cs b/src/TaxBaik.Web/Controllers/SiteSettingsController.cs similarity index 100% rename from TaxBaik.Web/Controllers/SiteSettingsController.cs rename to src/TaxBaik.Web/Controllers/SiteSettingsController.cs diff --git a/TaxBaik.Web/Controllers/TaxFilingController.cs b/src/TaxBaik.Web/Controllers/TaxFilingController.cs similarity index 100% rename from TaxBaik.Web/Controllers/TaxFilingController.cs rename to src/TaxBaik.Web/Controllers/TaxFilingController.cs diff --git a/TaxBaik.Web/Controllers/TaxFilingScheduleController.cs b/src/TaxBaik.Web/Controllers/TaxFilingScheduleController.cs similarity index 100% rename from TaxBaik.Web/Controllers/TaxFilingScheduleController.cs rename to src/TaxBaik.Web/Controllers/TaxFilingScheduleController.cs diff --git a/TaxBaik.Web/Controllers/TaxProfileController.cs b/src/TaxBaik.Web/Controllers/TaxProfileController.cs similarity index 100% rename from TaxBaik.Web/Controllers/TaxProfileController.cs rename to src/TaxBaik.Web/Controllers/TaxProfileController.cs diff --git a/TaxBaik.Web/Logging/TelegramSink.cs b/src/TaxBaik.Web/Logging/TelegramSink.cs similarity index 100% rename from TaxBaik.Web/Logging/TelegramSink.cs rename to src/TaxBaik.Web/Logging/TelegramSink.cs diff --git a/TaxBaik.Web/Pages/About.cshtml b/src/TaxBaik.Web/Pages/About.cshtml similarity index 100% rename from TaxBaik.Web/Pages/About.cshtml rename to src/TaxBaik.Web/Pages/About.cshtml diff --git a/TaxBaik.Web/Pages/Announcement.cshtml b/src/TaxBaik.Web/Pages/Announcement.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Announcement.cshtml rename to src/TaxBaik.Web/Pages/Announcement.cshtml diff --git a/TaxBaik.Web/Pages/Blog/Index.cshtml b/src/TaxBaik.Web/Pages/Blog/Index.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Blog/Index.cshtml rename to src/TaxBaik.Web/Pages/Blog/Index.cshtml diff --git a/TaxBaik.Web/Pages/Blog/Index.cshtml.cs b/src/TaxBaik.Web/Pages/Blog/Index.cshtml.cs similarity index 100% rename from TaxBaik.Web/Pages/Blog/Index.cshtml.cs rename to src/TaxBaik.Web/Pages/Blog/Index.cshtml.cs diff --git a/TaxBaik.Web/Pages/Blog/Post.cshtml b/src/TaxBaik.Web/Pages/Blog/Post.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Blog/Post.cshtml rename to src/TaxBaik.Web/Pages/Blog/Post.cshtml diff --git a/TaxBaik.Web/Pages/Blog/Post.cshtml.cs b/src/TaxBaik.Web/Pages/Blog/Post.cshtml.cs similarity index 100% rename from TaxBaik.Web/Pages/Blog/Post.cshtml.cs rename to src/TaxBaik.Web/Pages/Blog/Post.cshtml.cs diff --git a/TaxBaik.Web/Pages/Contact.cshtml b/src/TaxBaik.Web/Pages/Contact.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Contact.cshtml rename to src/TaxBaik.Web/Pages/Contact.cshtml diff --git a/TaxBaik.Web/Pages/Contact.cshtml.cs b/src/TaxBaik.Web/Pages/Contact.cshtml.cs similarity index 100% rename from TaxBaik.Web/Pages/Contact.cshtml.cs rename to src/TaxBaik.Web/Pages/Contact.cshtml.cs diff --git a/TaxBaik.Web/Pages/Faq.cshtml b/src/TaxBaik.Web/Pages/Faq.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Faq.cshtml rename to src/TaxBaik.Web/Pages/Faq.cshtml diff --git a/TaxBaik.Web/Pages/Index.cshtml b/src/TaxBaik.Web/Pages/Index.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Index.cshtml rename to src/TaxBaik.Web/Pages/Index.cshtml diff --git a/TaxBaik.Web/Pages/Index.cshtml.cs b/src/TaxBaik.Web/Pages/Index.cshtml.cs similarity index 100% rename from TaxBaik.Web/Pages/Index.cshtml.cs rename to src/TaxBaik.Web/Pages/Index.cshtml.cs diff --git a/TaxBaik.Web/Pages/Inquiry.cshtml b/src/TaxBaik.Web/Pages/Inquiry.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Inquiry.cshtml rename to src/TaxBaik.Web/Pages/Inquiry.cshtml diff --git a/TaxBaik.Web/Pages/Portal/ExternalCallback.cshtml b/src/TaxBaik.Web/Pages/Portal/ExternalCallback.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Portal/ExternalCallback.cshtml rename to src/TaxBaik.Web/Pages/Portal/ExternalCallback.cshtml diff --git a/TaxBaik.Web/Pages/Portal/ExternalCallback.cshtml.cs b/src/TaxBaik.Web/Pages/Portal/ExternalCallback.cshtml.cs similarity index 100% rename from TaxBaik.Web/Pages/Portal/ExternalCallback.cshtml.cs rename to src/TaxBaik.Web/Pages/Portal/ExternalCallback.cshtml.cs diff --git a/TaxBaik.Web/Pages/Portal/Index.cshtml b/src/TaxBaik.Web/Pages/Portal/Index.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Portal/Index.cshtml rename to src/TaxBaik.Web/Pages/Portal/Index.cshtml diff --git a/TaxBaik.Web/Pages/Portal/Index.cshtml.cs b/src/TaxBaik.Web/Pages/Portal/Index.cshtml.cs similarity index 100% rename from TaxBaik.Web/Pages/Portal/Index.cshtml.cs rename to src/TaxBaik.Web/Pages/Portal/Index.cshtml.cs diff --git a/TaxBaik.Web/Pages/Portal/Login.cshtml b/src/TaxBaik.Web/Pages/Portal/Login.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Portal/Login.cshtml rename to src/TaxBaik.Web/Pages/Portal/Login.cshtml diff --git a/TaxBaik.Web/Pages/Portal/Login.cshtml.cs b/src/TaxBaik.Web/Pages/Portal/Login.cshtml.cs similarity index 100% rename from TaxBaik.Web/Pages/Portal/Login.cshtml.cs rename to src/TaxBaik.Web/Pages/Portal/Login.cshtml.cs diff --git a/TaxBaik.Web/Pages/Portal/Register.cshtml b/src/TaxBaik.Web/Pages/Portal/Register.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Portal/Register.cshtml rename to src/TaxBaik.Web/Pages/Portal/Register.cshtml diff --git a/TaxBaik.Web/Pages/Portal/Register.cshtml.cs b/src/TaxBaik.Web/Pages/Portal/Register.cshtml.cs similarity index 100% rename from TaxBaik.Web/Pages/Portal/Register.cshtml.cs rename to src/TaxBaik.Web/Pages/Portal/Register.cshtml.cs diff --git a/TaxBaik.Web/Pages/Privacy.cshtml b/src/TaxBaik.Web/Pages/Privacy.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Privacy.cshtml rename to src/TaxBaik.Web/Pages/Privacy.cshtml diff --git a/TaxBaik.Web/Pages/Privacy.cshtml.cs b/src/TaxBaik.Web/Pages/Privacy.cshtml.cs similarity index 100% rename from TaxBaik.Web/Pages/Privacy.cshtml.cs rename to src/TaxBaik.Web/Pages/Privacy.cshtml.cs diff --git a/TaxBaik.Web/Pages/Services.cshtml b/src/TaxBaik.Web/Pages/Services.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Services.cshtml rename to src/TaxBaik.Web/Pages/Services.cshtml diff --git a/TaxBaik.Web/Pages/Shared/_Footer.cshtml b/src/TaxBaik.Web/Pages/Shared/_Footer.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Shared/_Footer.cshtml rename to src/TaxBaik.Web/Pages/Shared/_Footer.cshtml diff --git a/TaxBaik.Web/Pages/Shared/_Header.cshtml b/src/TaxBaik.Web/Pages/Shared/_Header.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Shared/_Header.cshtml rename to src/TaxBaik.Web/Pages/Shared/_Header.cshtml diff --git a/TaxBaik.Web/Pages/Shared/_ViewImports.cshtml b/src/TaxBaik.Web/Pages/Shared/_ViewImports.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Shared/_ViewImports.cshtml rename to src/TaxBaik.Web/Pages/Shared/_ViewImports.cshtml diff --git a/TaxBaik.Web/Pages/Shared/_ViewStart.cshtml b/src/TaxBaik.Web/Pages/Shared/_ViewStart.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Shared/_ViewStart.cshtml rename to src/TaxBaik.Web/Pages/Shared/_ViewStart.cshtml diff --git a/TaxBaik.Web/Pages/Sitemap.cshtml b/src/TaxBaik.Web/Pages/Sitemap.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Sitemap.cshtml rename to src/TaxBaik.Web/Pages/Sitemap.cshtml diff --git a/TaxBaik.Web/Pages/Sitemap.cshtml.cs b/src/TaxBaik.Web/Pages/Sitemap.cshtml.cs similarity index 100% rename from TaxBaik.Web/Pages/Sitemap.cshtml.cs rename to src/TaxBaik.Web/Pages/Sitemap.cshtml.cs diff --git a/TaxBaik.Web/Pages/Terms.cshtml b/src/TaxBaik.Web/Pages/Terms.cshtml similarity index 100% rename from TaxBaik.Web/Pages/Terms.cshtml rename to src/TaxBaik.Web/Pages/Terms.cshtml diff --git a/TaxBaik.Web/Pages/Terms.cshtml.cs b/src/TaxBaik.Web/Pages/Terms.cshtml.cs similarity index 100% rename from TaxBaik.Web/Pages/Terms.cshtml.cs rename to src/TaxBaik.Web/Pages/Terms.cshtml.cs diff --git a/TaxBaik.Web/Pages/_Layout.cshtml b/src/TaxBaik.Web/Pages/_Layout.cshtml similarity index 100% rename from TaxBaik.Web/Pages/_Layout.cshtml rename to src/TaxBaik.Web/Pages/_Layout.cshtml diff --git a/TaxBaik.Web/Pages/_ViewStart.cshtml b/src/TaxBaik.Web/Pages/_ViewStart.cshtml similarity index 100% rename from TaxBaik.Web/Pages/_ViewStart.cshtml rename to src/TaxBaik.Web/Pages/_ViewStart.cshtml diff --git a/TaxBaik.Web/Program.cs b/src/TaxBaik.Web/Program.cs similarity index 100% rename from TaxBaik.Web/Program.cs rename to src/TaxBaik.Web/Program.cs diff --git a/TaxBaik.Web/Properties/launchSettings.json b/src/TaxBaik.Web/Properties/launchSettings.json similarity index 100% rename from TaxBaik.Web/Properties/launchSettings.json rename to src/TaxBaik.Web/Properties/launchSettings.json diff --git a/TaxBaik.Web/Services/AuthService.cs b/src/TaxBaik.Web/Services/AuthService.cs similarity index 100% rename from TaxBaik.Web/Services/AuthService.cs rename to src/TaxBaik.Web/Services/AuthService.cs diff --git a/TaxBaik.Web/Services/PortalAuthDefaults.cs b/src/TaxBaik.Web/Services/PortalAuthDefaults.cs similarity index 100% rename from TaxBaik.Web/Services/PortalAuthDefaults.cs rename to src/TaxBaik.Web/Services/PortalAuthDefaults.cs diff --git a/TaxBaik.Web/Services/PortalAuthOptions.cs b/src/TaxBaik.Web/Services/PortalAuthOptions.cs similarity index 100% rename from TaxBaik.Web/Services/PortalAuthOptions.cs rename to src/TaxBaik.Web/Services/PortalAuthOptions.cs diff --git a/TaxBaik.Web/Services/PortalAuthService.cs b/src/TaxBaik.Web/Services/PortalAuthService.cs similarity index 100% rename from TaxBaik.Web/Services/PortalAuthService.cs rename to src/TaxBaik.Web/Services/PortalAuthService.cs diff --git a/TaxBaik.Web/Services/PortalOAuthDefaults.cs b/src/TaxBaik.Web/Services/PortalOAuthDefaults.cs similarity index 100% rename from TaxBaik.Web/Services/PortalOAuthDefaults.cs rename to src/TaxBaik.Web/Services/PortalOAuthDefaults.cs diff --git a/TaxBaik.Web/Services/TelegramAlertGate.cs b/src/TaxBaik.Web/Services/TelegramAlertGate.cs similarity index 100% rename from TaxBaik.Web/Services/TelegramAlertGate.cs rename to src/TaxBaik.Web/Services/TelegramAlertGate.cs diff --git a/TaxBaik.Web/Services/TelegramInquiryNotificationService.cs b/src/TaxBaik.Web/Services/TelegramInquiryNotificationService.cs similarity index 100% rename from TaxBaik.Web/Services/TelegramInquiryNotificationService.cs rename to src/TaxBaik.Web/Services/TelegramInquiryNotificationService.cs diff --git a/TaxBaik.Web/Services/TelegramNotificationService.cs b/src/TaxBaik.Web/Services/TelegramNotificationService.cs similarity index 100% rename from TaxBaik.Web/Services/TelegramNotificationService.cs rename to src/TaxBaik.Web/Services/TelegramNotificationService.cs diff --git a/TaxBaik.Web/Services/TelegramReportBackgroundService.cs b/src/TaxBaik.Web/Services/TelegramReportBackgroundService.cs similarity index 100% rename from TaxBaik.Web/Services/TelegramReportBackgroundService.cs rename to src/TaxBaik.Web/Services/TelegramReportBackgroundService.cs diff --git a/TaxBaik.Web/TaxBaik.Web.csproj b/src/TaxBaik.Web/TaxBaik.Web.csproj similarity index 100% rename from TaxBaik.Web/TaxBaik.Web.csproj rename to src/TaxBaik.Web/TaxBaik.Web.csproj diff --git a/TaxBaik.Web/VersionInfo.cs b/src/TaxBaik.Web/VersionInfo.cs similarity index 100% rename from TaxBaik.Web/VersionInfo.cs rename to src/TaxBaik.Web/VersionInfo.cs diff --git a/TaxBaik.Web/appsettings.json b/src/TaxBaik.Web/appsettings.json similarity index 100% rename from TaxBaik.Web/appsettings.json rename to src/TaxBaik.Web/appsettings.json diff --git a/TaxBaik.Web/wwwroot/css/admin.css b/src/TaxBaik.Web/wwwroot/css/admin.css similarity index 100% rename from TaxBaik.Web/wwwroot/css/admin.css rename to src/TaxBaik.Web/wwwroot/css/admin.css diff --git a/TaxBaik.Web/wwwroot/css/site.css b/src/TaxBaik.Web/wwwroot/css/site.css similarity index 100% rename from TaxBaik.Web/wwwroot/css/site.css rename to src/TaxBaik.Web/wwwroot/css/site.css diff --git a/TaxBaik.Web/wwwroot/favicon.svg b/src/TaxBaik.Web/wwwroot/favicon.svg similarity index 100% rename from TaxBaik.Web/wwwroot/favicon.svg rename to src/TaxBaik.Web/wwwroot/favicon.svg diff --git a/TaxBaik.Web/wwwroot/js/admin-session.js b/src/TaxBaik.Web/wwwroot/js/admin-session.js similarity index 100% rename from TaxBaik.Web/wwwroot/js/admin-session.js rename to src/TaxBaik.Web/wwwroot/js/admin-session.js diff --git a/TaxBaik.Web/wwwroot/js/site.js b/src/TaxBaik.Web/wwwroot/js/site.js similarity index 100% rename from TaxBaik.Web/wwwroot/js/site.js rename to src/TaxBaik.Web/wwwroot/js/site.js diff --git a/TaxBaik.Web/wwwroot/maintenance.html b/src/TaxBaik.Web/wwwroot/maintenance.html similarity index 100% rename from TaxBaik.Web/wwwroot/maintenance.html rename to src/TaxBaik.Web/wwwroot/maintenance.html diff --git a/TaxBaik.Web/wwwroot/robots.txt b/src/TaxBaik.Web/wwwroot/robots.txt similarity index 100% rename from TaxBaik.Web/wwwroot/robots.txt rename to src/TaxBaik.Web/wwwroot/robots.txt diff --git a/TaxBaik.Web/wwwroot/sitemap.xml b/src/TaxBaik.Web/wwwroot/sitemap.xml similarity index 100% rename from TaxBaik.Web/wwwroot/sitemap.xml rename to src/TaxBaik.Web/wwwroot/sitemap.xml diff --git a/TaxBaik.sln b/src/TaxBaik.sln similarity index 100% rename from TaxBaik.sln rename to src/TaxBaik.sln