Messaging, Forums & Learning
This section covers three communication and knowledge-sharing features: direct messaging, community forums, and the learning/courses system for enrolled students.
Route map
Section titled “Route map”Messages
Section titled “Messages”| Route | File | Description |
|---|---|---|
/messages | (app)/messages/+page.svelte | Message inbox — all conversations |
/messages/[chatId] | (app)/messages/[chatId]/+page.svelte | Single conversation thread |
Forums
Section titled “Forums”| Route | File | Description |
|---|---|---|
/forums | (app)/forums/+page.svelte | Forum directory |
/forums/[forumSlug] | (app)/forums/[forumSlug]/+page.svelte | Forum topic list |
/forums/[forumSlug]/[topicSlug] | (app)/forums/[forumSlug]/[topicSlug]/+page.svelte | Topic thread |
/forums/[forumSlug]/new | (app)/forums/[forumSlug]/new/+page.svelte | Create new topic |
Learning
Section titled “Learning”| Route | File | Description |
|---|---|---|
/learn/[slug] | (app)/learn/[slug]/+page.svelte | Course overview |
/learn/[slug]/[itemId] | (app)/learn/[slug]/[itemId]/+page.svelte | Lesson content viewer |
/learn/[slug]/quiz/[quizId] | (app)/learn/[slug]/quiz/[quizId]/+page.svelte | Take a quiz |
/learn/[slug]/quiz/[quizId]/results | (app)/learn/[slug]/quiz/[quizId]/results/+page.svelte | Quiz results overview |
/learn/[slug]/quiz/[quizId]/results/[attemptId] | (app)/learn/[slug]/quiz/[quizId]/results/[attemptId]/+page.svelte | Single attempt results |
/learn/[slug]/assignment/[assignmentId] | (app)/learn/[slug]/assignment/[assignmentId]/+page.svelte | Assignment submission |
Related consumer routes
Section titled “Related consumer routes”| Route | File | Description |
|---|---|---|
/courses | (app)/courses/+page.svelte | Browse available courses |
/courses/[slug] | (app)/courses/[slug]/+page.svelte | Course detail / enrollment |
All routes are protected (authentication + onboarding required).
Messages
Section titled “Messages”The messaging system provides one-on-one and group direct messaging, separate from the Honeycomb Hub community messages.
Inbox (/messages)
Section titled “Inbox (/messages)”Displays all conversations sorted by most recent activity. Each conversation card shows the other participant(s), the last message preview, and an unread indicator.
The +page.server.ts loads conversations for the authenticated user. The API endpoint at (app)/api/messages/ handles sending messages and real-time updates.
Conversation thread (/messages/[chatId])
Section titled “Conversation thread (/messages/[chatId])”The full conversation view with message history and a compose area. Messages load in reverse chronological order with infinite scroll for older messages.
Dynamic parameters
Section titled “Dynamic parameters”[chatId]— The conversation’s UUID.
Forums
Section titled “Forums”Forums provide threaded discussion boards organized by topic categories. Business owners create and manage forums through /business/apps/forums; users browse and participate through the consumer-facing /forums routes.
Forum directory (/forums)
Section titled “Forum directory (/forums)”Lists all available forums the user can access, with descriptions and topic counts.
Forum detail (/forums/[forumSlug])
Section titled “Forum detail (/forums/[forumSlug])”Displays all topics within a specific forum, sorted by latest activity. Each topic card shows the title, author, reply count, and last activity timestamp.
Dynamic parameters
Section titled “Dynamic parameters”[forumSlug]— The forum’s URL slug.
Topic thread (/forums/[forumSlug]/[topicSlug])
Section titled “Topic thread (/forums/[forumSlug]/[topicSlug])”The full discussion thread for a single topic. Shows the original post followed by all replies in chronological order, with a reply compose area at the bottom.
Dynamic parameters
Section titled “Dynamic parameters”[forumSlug]— The forum’s URL slug.[topicSlug]— The topic’s URL slug.
New topic (/forums/[forumSlug]/new)
Section titled “New topic (/forums/[forumSlug]/new)”Form to create a new topic within a forum. Fields include title and body content.
Learning
Section titled “Learning”The learning system is the student-facing counterpart to the course builder at /business/apps/courses. Students enroll in courses and consume content through these routes.
Course browsing
Section titled “Course browsing”/courses— Browse all available courses with filtering and search./courses/[slug]— Course detail page showing description, syllabus, instructor info, and enroll button.
Course content (/learn/[slug])
Section titled “Course content (/learn/[slug])”Once enrolled, students access course content through the /learn routes.
/learn/[slug]— Course overview with progress tracker, module list, and navigation to lessons./learn/[slug]/[itemId]— Individual lesson content (video, text, exercises). The[itemId]corresponds to a specific course item/lesson.
Quizzes
Section titled “Quizzes”Students take quizzes associated with a course:
/learn/[slug]/quiz/[quizId]— The quiz-taking interface with questions and answer submission./learn/[slug]/quiz/[quizId]/results— Overview of all quiz attempts and scores./learn/[slug]/quiz/[quizId]/results/[attemptId]— Detailed results for a specific quiz attempt, showing correct/incorrect answers.
Assignments
Section titled “Assignments”/learn/[slug]/assignment/[assignmentId]— View assignment instructions and submit work.
Relationship to business routes
Section titled “Relationship to business routes”| Student route | Instructor management route |
|---|---|
/courses | /business/apps/courses/list |
/learn/[slug] | /business/apps/courses/[id] |
/learn/[slug]/[itemId] | /business/apps/courses/[id]/edit |
/learn/[slug]/quiz/[quizId] | /business/apps/courses/[id]/quizzes/[quizId] |
/learn/[slug]/assignment/[assignmentId] | /business/apps/courses/[id]/assignments/[assignmentId] |