refactor: move buildable .NET source into src/, update CI/doc paths
TaxBaik CI/CD / build-and-deploy (push) Successful in 2m7s
TaxBaik CI/CD / build-and-deploy (push) Successful in 2m7s
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 <noreply@anthropic.com>
This commit is contained in:
@@ -1,103 +0,0 @@
|
||||
namespace TaxBaik.Application.Seasonal;
|
||||
|
||||
/// <summary>
|
||||
/// 한국 세무사 사무실 연간 시즌 캘린더.
|
||||
/// 각 시즌이 활성화되면 홈페이지 Hero가 해당 세무 이벤트에 맞게 전환된다.
|
||||
/// </summary>
|
||||
public static class TaxSeasonCalendar
|
||||
{
|
||||
public static readonly IReadOnlyList<TaxSeason> Seasons =
|
||||
[
|
||||
new TaxSeason
|
||||
{
|
||||
Key = "vat-2nd",
|
||||
Name = "부가가치세 2기 확정신고",
|
||||
StartMonth = 1, StartDay = 1,
|
||||
EndMonth = 1, EndDay = 25,
|
||||
HeroHeadline = "부가가치세 2기\n1월 25일 마감",
|
||||
HeroSubtext = "일반과세 사업자 확정신고 · 기한 내 신고로 가산세 방지",
|
||||
UrgencyBadge = "D-{n}일 | 부가세 마감",
|
||||
FocusService = "business-tax",
|
||||
CtaText = "부가세 신고 상담",
|
||||
RelatedCategorySlug = "vat"
|
||||
},
|
||||
new TaxSeason
|
||||
{
|
||||
Key = "year-end-settlement",
|
||||
Name = "연말정산",
|
||||
StartMonth = 1, StartDay = 15,
|
||||
EndMonth = 2, EndDay = 28,
|
||||
HeroHeadline = "연말정산\n지금 준비하세요",
|
||||
HeroSubtext = "직원이 있는 사업자 원천징수 신고 · 환급 최대화",
|
||||
UrgencyBadge = "연말정산 진행 중",
|
||||
FocusService = "business-tax",
|
||||
CtaText = "연말정산 상담",
|
||||
RelatedCategorySlug = "business-tax"
|
||||
},
|
||||
new TaxSeason
|
||||
{
|
||||
Key = "corporate-tax",
|
||||
Name = "법인세 신고",
|
||||
StartMonth = 3, StartDay = 1,
|
||||
EndMonth = 3, EndDay = 31,
|
||||
HeroHeadline = "법인세\n3월 31일 마감",
|
||||
HeroSubtext = "법인사업자 결산 · 세무조정 · 절세 전략 수립",
|
||||
UrgencyBadge = "D-{n}일 | 법인세 마감",
|
||||
FocusService = "business-tax",
|
||||
CtaText = "법인세 신고 상담",
|
||||
RelatedCategorySlug = "business-tax"
|
||||
},
|
||||
new TaxSeason
|
||||
{
|
||||
Key = "income-tax",
|
||||
Name = "종합소득세 신고",
|
||||
StartMonth = 5, StartDay = 1,
|
||||
EndMonth = 5, EndDay = 31,
|
||||
HeroHeadline = "종합소득세\n5월 31일 마감",
|
||||
HeroSubtext = "개인사업자 · 임대소득 · 프리랜서 · 기타소득 모두 해당",
|
||||
UrgencyBadge = "D-{n}일 | 종합소득세 마감",
|
||||
FocusService = "business-tax",
|
||||
CtaText = "종합소득세 상담",
|
||||
RelatedCategorySlug = "income-tax"
|
||||
},
|
||||
new TaxSeason
|
||||
{
|
||||
Key = "vat-1st",
|
||||
Name = "부가가치세 1기 확정신고",
|
||||
StartMonth = 7, StartDay = 1,
|
||||
EndMonth = 7, EndDay = 25,
|
||||
HeroHeadline = "부가가치세 1기\n7월 27일 마감",
|
||||
HeroSubtext = "일반과세 사업자 1기 확정신고 · 매입세액 공제 점검",
|
||||
UrgencyBadge = "D-{n}일 | 부가세 마감",
|
||||
FocusService = "business-tax",
|
||||
CtaText = "부가세 신고 상담",
|
||||
RelatedCategorySlug = "vat"
|
||||
},
|
||||
new TaxSeason
|
||||
{
|
||||
Key = "comprehensive-real-estate-tax",
|
||||
Name = "종합부동산세",
|
||||
StartMonth = 11, StartDay = 15,
|
||||
EndMonth = 11, EndDay = 30,
|
||||
HeroHeadline = "종합부동산세\n납부 시즌",
|
||||
HeroSubtext = "다주택자 · 임대사업자 세부담 분석 · 분납·합산배제 검토",
|
||||
UrgencyBadge = "D-{n}일 | 종부세 납부",
|
||||
FocusService = "real-estate-tax",
|
||||
CtaText = "종부세 절세 상담",
|
||||
RelatedCategorySlug = "real-estate-tax"
|
||||
},
|
||||
new TaxSeason
|
||||
{
|
||||
Key = "year-end-gift",
|
||||
Name = "연말 증여·절세 플래닝",
|
||||
StartMonth = 12, StartDay = 1,
|
||||
EndMonth = 12, EndDay = 31,
|
||||
HeroHeadline = "연말 절세 플래닝\n마지막 기회",
|
||||
HeroSubtext = "증여 공제 한도 · 자산 이전 · 법인전환 연간 마감",
|
||||
UrgencyBadge = "D-{n}일 | 연간 증여 한도 마감",
|
||||
FocusService = "family-asset",
|
||||
CtaText = "연말 절세 상담",
|
||||
RelatedCategorySlug = "family-asset"
|
||||
}
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user