Files
032-birthday-wisher/docs/wiki/Architecture.md
T
Tirsvad 457b84c6da Add README, screenshots, tri-lingual wiki and wiki workflow (MIL-003)
README from the framework template, three terminal screenshots rendered by
script, wiki pages in English, Danish and Bahasa Malaysia, the publish-wiki
workflow, and the milestone links in the Project Plan.

Refs #13
Refs #14
Refs #15
Refs #16
Refs #17
Refs #18
2026-10-17 15:41:15 +08:00

805 B

Architecture

🌐 English · Dansk · Bahasa Melayu

The code follows a small clean architecture. Imports point inward.

Layer Folder Holds
Domain src/birthday_wisher/domain/ Person and the errors
Application src/birthday_wisher/application/ The use case send_birthday_wishes and the ports (BirthdayRepository, LetterSource, MailSender)
Infrastructure src/birthday_wisher/infrastructure/ CSV reader, letter files, SMTP mailer, settings
Presentation src/birthday_wisher/presentation/ The command line and the composition root

The tests mirror the layers: tests/unit, tests/integration, tests/e2e. The course hint of a dictionary keyed by (month, day) is birthdays_by_day.