# Features ## Current Implementation ### Public site - Localized homepage with service positioning and marquee content - About page with profile-oriented content - Portfolio list with category filtering - Portfolio detail pages with multiple view modes: - `GRID` - `STORY` - `CASE_STUDY` - Contact form with: - validation - email delivery - Success page after contact submission (noindex) - Maintenance redirect flow (bypass requires a *signed* admin session cookie) - SEO: localized metadata with canonical + hreflang, OG/Twitter cards (project cover as share image), JSON-LD (WebSite + Person/Organization, CreativeWork per project), dynamic `robots.txt` and hreflang `sitemap.xml` — see `docs/SEO.md` ### Admin - Password-based app login plus optional Basic Auth gateway - Dashboard summary cards - Portfolio category management - Portfolio project creation and editing - Section and asset management inside each project - Media library with usage bindings (uploads are magic-byte checked, SVGs are sanitized and served sandboxed) - Site settings management (Brand, Localization, SEO) - SEO page: indexing switch, Search Console/Bing verification, X handle, structured-data identity, per-locale keywords, readiness checklist and links to sitemap/robots/manifest - SMTP settings and test email - Marquee settings - Maintenance toggle - UI Kit preview page ## Present But Not Implemented As Full Features - `Products` - only appears as a disabled navigation label - `Downloads` - document assets can be opened from portfolio detail pages, but there is no standalone downloads domain ## Not Currently Implemented - `Orders` - `Project Inquiry` as a separate workflow or model - Customer accounts - Checkout or payment handling ## Recommended Improvements - Add explicit feature boundaries between `portfolio` content and future `products/orders/downloads` domains - Store inbound contact submissions if business follow-up requires history - Add tests for admin server actions and middleware routing