diff --git a/docs/guides/FORUM_SETUP_CHECKLIST.md b/docs/guides/FORUM_SETUP_CHECKLIST.md new file mode 100644 index 0000000..9b818a1 --- /dev/null +++ b/docs/guides/FORUM_SETUP_CHECKLIST.md @@ -0,0 +1,32 @@ +# Forum Setup Checklist (By Property) + +Use this for each new property setup. + +## [ ] Property: ________________ + +### Parameters +- [ ] Property name: _______________ +- [ ] Forum URL: /forum +- [ ] Display name: "The ______ Lounge" +- [ ] Categories: ___ (count) +- [ ] Initial personas: ___ (recommend 150-200) +- [ ] Target posts/day: ___ (recommend 250-400) + +### Setup Steps +- [ ] Phase 1: Create logo (SVG) +- [ ] Phase 2: Create credits schema (SQL) +- [ ] Phase 3: Add React components +- [ ] Phase 4: Update page titles +- [ ] Phase 5: Insert categories +- [ ] Phase 6: Generate personas +- [ ] Phase 7: Generate posts +- [ ] Phase 8: Award credits +- [ ] Phase 9: Set up cron +- [ ] Phase 10: Add to monitoring + +### Verification +- [ ] `SELECT COUNT(*) FROM bb.forum_categories;` +- [ ] `SELECT COUNT(*) FROM bb.user_profiles;` +- [ ] `SELECT COUNT(*) FROM bb.forum_threads;` +- [ ] First post generated at: _______ +- [ ] Posts generating every 30 min: YES / NO diff --git a/docs/guides/FORUM_SETUP_COMPLETE.md b/docs/guides/FORUM_SETUP_COMPLETE.md new file mode 100644 index 0000000..2874f5c --- /dev/null +++ b/docs/guides/FORUM_SETUP_COMPLETE.md @@ -0,0 +1,53 @@ +# Community Forum Setup Guide (From Scratch) + +**Complete replicable guide for deploying forums with credits system across RMP properties.** + +> Updated: May 16, 2026 +> Template: The Crew Lounge (BroadcastBeat) +> Replicable to: AV Beat, BroadcastEngineering, SportsMediaIntel, etc. + +## Quick Summary + +- **Database**: 4 new tables for credits system (bb.user_credits, totals, badges, monthly) +- **UI**: CreditsDisplay component + CrewLoungeLogo +- **Schema**: Forum categories, user profiles, threads, credits tracking +- **Generation**: 200 personas, 1,500+ posts via Ollama, continuous generation +- **Timeline**: ~2 hours per property + +## Database Schema + +```sql +bb.user_credits -- Track earned credits per user/category +bb.user_credits_totals -- Cache totals for leaderboards +bb.crew_leader_badges -- 10+ credits = category expert +bb.credits_monthly_snapshot -- Monthly leaderboard snapshots +``` + +## Setup Phases + +1. **Logo** — Create property-specific SVG +2. **Schema** — New credits tables in Supabase +3. **Components** — CreditsDisplay, CrewLoungeLogo React components +4. **Forum Pages** — Update title text (keep code structure) +5. **Categories** — Insert your 35-50 domain-specific categories +6. **Personas** — Generate 150-200 realistic user profiles +7. **Posts** — Generate 1,000-1,500 seed posts via Ollama +8. **Credits** — Award 1 credit per post, calculate badges +9. **Cron** — Set up continuous generation (every 30 min) +10. **Monitoring** — Add to control panel watchdog + +## For Other Properties + +Copy this guide and customize: + +- **Category list** - Use domain-specific categories +- **Logo colors** - Match property branding +- **Persona archetypes** - Specialize for your community +- **Post generation prompt** - Domain vocabulary +- **Target velocity** - Adjust posts/day based on community size + +## Files in This Directory + +- `FORUM_SETUP_COMPLETE.md` — Full guide +- `FORUM_SETUP_CHECKLIST.md` — Per-property checklist +- Scripts for category/persona generation available diff --git a/public/logos/crew-lounge-logo.svg b/public/logos/crew-lounge-logo.svg new file mode 100644 index 0000000..bb11717 --- /dev/null +++ b/public/logos/crew-lounge-logo.svg @@ -0,0 +1,26 @@ + diff --git a/src/app/forum/layout.tsx b/src/app/forum/layout.tsx index 35591e7..07bdfb3 100644 --- a/src/app/forum/layout.tsx +++ b/src/app/forum/layout.tsx @@ -1,19 +1,19 @@ import type { Metadata } from 'next'; export const metadata: Metadata = { - title: 'Industry Forum — Broadcast Beat', - description: 'Connect with broadcast, motion picture and post production professionals worldwide. Discuss live production, IP workflows, streaming, audio, cameras, AI automation, and more.', + title: 'The Crew Lounge — Broadcast Beat', + description: 'The Crew Lounge: connect with broadcast, motion picture and post production professionals worldwide. Discuss live production, IP workflows, streaming, audio, cameras, AI automation, and more.', alternates: { canonical: '/forum' }, openGraph: { - title: 'Industry Forum — Broadcast Beat', - description: 'Connect with broadcast, motion picture and post production professionals worldwide. Ask questions, share expertise, and discuss broadcast technology.', + title: 'The Crew Lounge — Broadcast Beat', + description: 'The Crew Lounge: connect with broadcast, motion picture and post production professionals worldwide. Ask questions, share expertise, and discuss broadcast technology.', url: '/forum', type: 'website', }, twitter: { card: 'summary', - title: 'Industry Forum — Broadcast Beat', - description: 'Connect with broadcast, motion picture and post production professionals worldwide on Broadcast Beat.', + title: 'The Crew Lounge — Broadcast Beat', + description: 'The Crew Lounge: connect with broadcast, motion picture and post production professionals worldwide on Broadcast Beat.', }, }; @@ -21,8 +21,8 @@ export default function ForumLayout({ children }: { children: React.ReactNode }) const schema = { '@context': 'https://schema.org', '@type': 'WebPage', - name: 'Broadcast Beat Industry Forum', - description: 'Industry forum for broadcast, motion picture and post production professionals worldwide.', + name: 'Broadcast Beat — The Crew Lounge', + description: 'The Crew Lounge: an industry community for broadcast, motion picture and post production professionals worldwide.', url: 'https://broadcastb5322.builtwithrocket.new/forum', isPartOf: { '@type': 'WebSite', @@ -33,7 +33,7 @@ export default function ForumLayout({ children }: { children: React.ReactNode }) '@type': 'BreadcrumbList', itemListElement: [ { '@type': 'ListItem', position: 1, name: 'Home', item: 'https://broadcastb5322.builtwithrocket.new' }, - { '@type': 'ListItem', position: 2, name: 'Forum', item: 'https://broadcastb5322.builtwithrocket.new/forum' }, + { '@type': 'ListItem', position: 2, name: 'The Crew Lounge', item: 'https://broadcastb5322.builtwithrocket.new/forum' }, ], }, }; diff --git a/src/app/forum/page.tsx b/src/app/forum/page.tsx index 27162e3..b37f1bb 100644 --- a/src/app/forum/page.tsx +++ b/src/app/forum/page.tsx @@ -262,11 +262,11 @@ export default function ForumIndexPage() {
- Connect with broadcast, motion picture and post production professionals worldwide. Ask questions, share expertise, and discuss the technology shaping the industry. + The Crew Lounge: connect with broadcast, motion picture and post production professionals worldwide. Ask questions, share expertise, and discuss the technology shaping the industry.
Total Credits
+{totalCredits}
+By Category
+{category}
+{credits}
+💡 Earn 1 credit per post in each category
+⭐ Earn "Crew Leader" badge at 10+ credits
+