The context
Flag App is a personal project built quickly with Next.js 16. It consumes a public API to display a list of countries, their flags, and a detail page for each country.
The business logic is intentionally simple—few rules and a « countries » module with a handful of use cases—but the codebase is organized to grow. It is a training ground for clean architecture and a first step toward domain driven design (DDD), deliberately more structured than a typical small showcase site, to learn patterns rather than chase a complex product need.
What I learn :
- Modular architecture:
- « Countries » module: isolated use cases, separation of domain, application, and technical adapters
- Business-oriented naming and modularity designed to welcome new rules or modules
- Next.js 16 implementation:
- App Router with a clear Server Components / Client Components split to keep client-side JavaScript low
- Home page (list) and country pages; URL params to preserve navigation history
- Skeletons and loading states for smooth navigation despite repeated server round-trips
- No database: data comes from the public API; deployed on Vercel—the main focus is application architecture
