Documentation Index
Fetch the complete documentation index at: https://memberpulseptyltd.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Build comprehensive courses with structured subjects, diverse content types, and assessments.
Course Structure
Course
├── Subject 1
│ ├── Content: Video
│ ├── Content: PDF
│ └── Content: Quiz
├── Subject 2
│ ├── Content: Text
│ └── Content: Quiz
└── Final Assessment
Content Types
| Type | Description |
|---|
| Video | MP4, embedded YouTube/Vimeo |
| PDF | Downloadable documents |
| Text | Rich text content |
| Quiz | Multiple choice, true/false |
| SCORM | SCORM packages |
Course Settings
- Access: Free, paid, member-only
- Duration: Estimated completion time
- CPD Points: Points awarded on completion
- Pass Score: Minimum quiz score (default: 70%)
- Certificate: Enable/disable certification
UI Spec (from supplied spreadsheet)
The following field inventory is sourced from workspace/sources/entity-registry.csv (“Courses”).
This is a UI/requirements inventory (not the ERD). Some rows describe UI behavior (e.g. limits) rather than canonical storage.
Course fields
| Field | Input Type | Required | Notes |
|---|
| Course ID | Number | Required | System generated |
| Course Name | Text | Required | model: name |
| Tile Short Description | Text | Required | First ~135 chars shown in tile |
| Course Description | WYSIWYG (Textarea) | Required | model: description |
| Course Category | Multi-select | Required | model: courseCategories |
| Course Featured Image | File | Required | model: featuredImage |
| Series | Multi-select | - | model: courseSeries |
| Branches | Multi-select | - | model: courseBranches |
| Course Type | Selector | Required | model: courseType |
| Course Author | Text | Required | model: author |
| Publish Date / Time | Date + Time | Required | model: publishDateTime |
| Estimated Completion Time | Number | Required | Minutes; model: estimatedCompletionTime |
| Start Date | Date | Required | model: startDate |
| Close Date | Date | Not Required | Must be after start date; model: closeDate |
| CPD Points | Number | Required | model: cpdPoints |
| CPD Category | Multi-select | Required | model: cpdCategories |
| Members Price | Text | Required | - |
| Members Limit | Number | Not Required | model: membersLimit |
| Non-Members Price | Text | Required | model: nonMembersPrice |
| Non-Members Limit | Number | Not Required | model: nonMembersLimit |
| General Attendance Limit | Number | Not Required | model: generalAttendanceLimit |
Acceptance Criteria
Frontend
Backend / API
Permissions
Business Rules
Error Handling
Subject / quiz fields
| Field | Input Type | Required | Notes |
|---|
| Subject Name | Text | Required | model: name |
| Subject Description | Text | Required | model: description |
| Subject Duration | Number | Required | Minutes; empty means infinite timer |
| Subject File | File | Required | Video / Document |
| File Thumbnail | File | Not Required | Default thumbnail used if empty |
| Zoom Link | Selector | Required | Pulls from available Zoom videos |
| Questions Required | True / False | Required | model: isQuestionsRequired |
| How many questions | Number | Required | model: numberOfQuestions |
| Generate with AI | Yes / No | Required | model: generateWithAI |
| Question Type | Selector | Required | model: questionType (enum: single_answer, multiple_answer) |
Data Model Cross‑Reference (Entities)
Acceptance Criteria
Frontend
Backend / API
Permissions
Business Rules
Error Handling
Features
Course Creation
Acceptance Criteria
Frontend
Backend / API
Permissions
Business Rules
Error Handling
Implementation Contracts
Backend (API)
POST /api/courses # Create course
PUT /api/courses/{id} # Update course
POST /api/courses/{id}/subjects # Add subject
PUT /api/courses/{id}/subjects/{subjectId}
DELETE /api/courses/{id}/subjects/{subjectId}
PUT /api/courses/{id}/subjects/reorder # Reorder subjects
POST /api/courses/{id}/subjects/{subjectId}/content
PUT /api/courses/{id}/content/{contentId}
DELETE /api/courses/{id}/content/{contentId}
POST /api/courses/{id}/publish # Publish course
POST /api/courses/{id}/unpublish # Unpublish