Application structure
Route-based application architecture
The application uses the Next.js App Router and separates public content, admin workflows, client routes, authentication callbacks, payment endpoints, and gallery pages by route. Server Components handle most page rendering and data queries, while focused client components are reserved for interactions such as inquiry forms, gallery controls, payment-link copying, and image uploads. Repository modules translate database rows into typed application models so the UI is not tightly coupled to raw Supabase responses.



