How nhasan143/govcon-digest works
Govcon Digest is a news and magazine site with a Payload CMS newsroom. Readers browse and search reporting, while editors manage publication through the CMS; the homepage’s sampled code fetches published content through the CMS helper and renders curated hero and section rails. Separate capabilities include author/topic pages, newsletter and contact forms, feeds and sitemaps, and editorial access controls. Source evidence is uneven: sampled imports and calls support the homepage, newsletter, and selected CMS relationships; unsampled routes are represented as capability areas without speculative wiring.
Main entry points: payload.config.ts Payload CMS · (frontend)/page.tsx Homepage · route.ts Newsletter signup · [[...segments]]/page.tsx Newsroom workspace
Components 24
Reader experience
- Homepage
app/(frontend)/page.tsx - Hero and rails
components/home/HomeHero.tsx - Article pages
app/(frontend)/[category]/[slug]/page.tsx - Category pages
app/(frontend)/[category]/page.tsx - Search
app/(frontend)/search/page.tsx - Author pages
app/(frontend)/author/[slug]/page.tsx - Topic directory
components/topics/TopicsDirectory.tsx
Editorial CMS
- Payload CMS
payload.config.ts - News collection
payload/collections/Posts.ts - Newsroom workspace
app/(payload)/newsroom/[[...segments]]/page.tsx - Editorial tools
payload/components/EditorialDashboard.tsx - CMS sign-in
app/(cms-login)/newsroom/sign-in/page.tsx - Subscribers
payload/collections/Subscribers.ts
Audience engagement
- Newsletter signup
app/api/newsletter/route.ts - Subscription action
app/actions/forms.ts - Contact forms
app/actions/contact.ts - RSS feed
app/feed.xml/route.ts - News sitemap
app/news-sitemap.xml/route.ts
Content platform
- Content queries
lib/cms.ts - Category registry
lib/categories.ts - Article model
types/index.ts - SQLite or SQL database
Other components
- Reader
- Editor
Connections 24
- Reader → Homepage: opens
app/(frontend)/page.tsx - Homepage → Content queries: fetches posts
app/(frontend)/page.tsx - Homepage → Category registry: selects sections
app/(frontend)/page.tsx - Homepage → Hero and rails: renders
app/(frontend)/page.tsx - Content queries → Article model: maps posts
lib/cms.ts - Reader → Article pages: opens
- Reader → Category pages: browses
- Reader → Search: searches
- Reader → Author pages: browses
- Reader → Topic directory: browses
- Editor → CMS sign-in: signs in
app/(cms-login)/newsroom/sign-in/page.tsx - CMS sign-in → Payload CMS: authenticates
app/(cms-login)/newsroom/sign-in/page.tsx - Editor → Newsroom workspace: manages content
- Newsroom workspace → Editorial tools: loads interface
- Payload CMS → News collection: manages
- Payload CMS → SQLite or SQL database: persists content
- Reader → Newsletter signup: submits signup
app/api/newsletter/route.ts - Newsletter signup → Subscription action: calls
app/api/newsletter/route.ts - Reader → Contact forms: submits inquiry
- Newsletter signup → Subscribers: stores subscriber
- Reader → RSS feed: requests feed
app/feed.xml/route.ts - Reader → News sitemap: requests sitemap
app/news-sitemap.xml/route.ts - News sitemap → Payload CMS: queries news
app/news-sitemap.xml/route.ts - Payload CMS → SQLite or SQL database: reads and writes