Content Module Feature List
IT Mart CMS page and section coverage for admin, public, and mobile content APIs.
Content Module - Feature List
Purpose
The Content module provides an IT Mart CMS layer for editorial page copy. It does not replace existing feature APIs for products, categories, brands, reviews, blogs, FAQs, repair requests, or care packages.
Live frontend pages already consuming CMS:
aboutfaqprivacy_policyterms_of_service
Target CMS pages for frontend adoption:
homeglobal_footerdigital_productsrepairitmartcareitmartcare_claimitmartcare_detailcategoriesbrandsarticles
Supported API Features
| Feature | Endpoint | Notes |
|---|---|---|
| Admin page read | GET /api/admin/content/pages/:pageKey | Auto-creates missing valid page |
| Page metadata update | PATCH /api/admin/content/pages/:pageKey/meta | Title and optional SEO link |
| Section upsert | PUT /api/admin/content/pages/:pageKey/sections/:sectionKey | Strict page-aware payload validation |
| Section delete | DELETE /api/admin/content/pages/:pageKey/sections/:sectionKey | Requires existing page and section |
| Public page read | GET /api/content/pages/:pageKey | Enabled sections only |
| Mobile page read | GET /api/mobile/content/pages/:pageKey | Same contract as public read |
Admin write operations purge both admin and public Redis page caches and trigger frontend revalidation tags.
Page Coverage Matrix
| Page key | Route | CMS-owned sections |
|---|---|---|
home | / | new_arrivals, trending, popular_picks, categories, itmart_care, brands, trusted_partner, repair_process, customer_reviews, tech_articles |
about | /about | hero, quote, story_blocks, why_choose, faq_intro, blogs |
faq | /faq | faq_intro |
privacy_policy | /privacy-policy | document |
terms_of_service | /terms-of-service | document |
global_footer | site-wide footer | brand_blurb, quick_links, legal_links, copyright |
digital_products | /digitalproducts | hero, product_listing |
repair | /repair | hero, steps, upsell_promo |
itmartcare | /itmartcare | hero |
itmartcare_claim | /itmartcare/claim | claim_steps |
itmartcare_detail | /itmartcare/[slug] | before_you_continue, fallback_description |
categories | /categories | hero |
brands | /brands | hero |
articles | /articles | hero |
Home Page Sections
CMS owns only heading, description, CTA, and related editorial copy. Product, category, brand, review, and article listing data remains backend-driven by feature APIs.
| Section | Payload |
|---|---|
new_arrivals | heading, description, ctaLabel |
trending | heading, description, ctaLabel |
popular_picks | heading, description, ctaLabel |
categories | heading, description, ctaLabel |
itmart_care | badge, description, ctaLabel, logo, benefits[] |
brands | heading, description, ctaLabel |
trusted_partner | heading, description, ctaLabel, image |
repair_process | heading, description, ctaLabel, steps[] |
customer_reviews | heading, description, ctaLabel |
tech_articles | heading, description, ctaLabel |
About Page Sections
| Section | Payload |
|---|---|
hero | label, heading, subtitle, description, images.main |
quote | label, text, author, authorTitle |
story_blocks | blocks[] with image, label, heading, tagline, description, bullets[] |
why_choose | label, heading, description, cards[] |
faq_intro | label, heading, description |
blogs | enabled/disabled toggle only; payload is {} |
Legal and FAQ Pages
| Page | Section | Payload |
|---|---|---|
faq | faq_intro | label, heading, description |
privacy_policy | document | eyebrow, title, summary, lastUpdated, sections[] |
terms_of_service | document | same as privacy_policy.document |
These live pages keep their current frontend fallback model.
Commerce and Service Pages
| Page | Section | Payload |
|---|---|---|
digital_products | hero | heading, description |
digital_products | product_listing | heading |
repair | hero | heading, description |
repair | steps | steps[] with { id, image, step, title } |
repair | upsell_promo | title, ctaLabel, href |
itmartcare | hero | logo, description, shieldImage |
itmartcare_claim | claim_steps | pickupDropSteps[], inStoreSteps[] |
itmartcare_detail | before_you_continue | heading, steps[] |
itmartcare_detail | fallback_description | text |
Care plan names, prices, features, and coverage come from the care-package API, not CMS.
Listing Shell Pages
| Page | Section | Payload |
|---|---|---|
categories | hero | heading, description |
brands | hero | heading, description |
articles | hero | heading |
Category grid data comes from the categories API. Brand grid data comes from the brands API. Article carousel and grid data come from the blogs API.
Footer Sections
| Section | Payload |
|---|---|
brand_blurb | logo, heading, description, contacts[] |
quick_links | columnHeading, columns[] with nested links[] |
legal_links | links[] |
copyright | text |
Cache and Revalidation Features
| Operation | Redis purge | Revalidation tags |
|---|---|---|
| Page meta update | admin + public page key patterns | content:page:<pageKey> plus shared page tag |
| Section upsert | admin + public page key patterns | content:page:<pageKey> plus shared page tag |
| Section delete | admin + public page key patterns | content:page:<pageKey> plus shared page tag |
| Manual content purge | selected content Redis scope | supplied admin tags |
Shared page tags are IT Mart-specific, such as page:digital-products, page:repair, page:brands, and layout:footer.
Completion Checklist
- IT Mart page keys are the only valid CMS page enum values.
- Retired copied product page keys are removed from the API enum.
- Section compatibility is enforced by page.
- Reused
herokeys validate with page-specific payload schemas. - Admin writes purge admin and public read caches.
- Content write hooks trigger frontend revalidation tags.
- Fumadocs documents the IT Mart CMS contract.