Learnly

Students enrol, read lessons, take quizzes and earn a certificate; instructors build courses and see scores. A rule allows three quiz attempts, completing a course fires a workflow, and an AI hint helps without giving the answer away.

Students sign up. Instructors build courses.

Learnly on desktopLearnly on a phone

What's inside

My courses with progress rings. Lesson reader and quizzes. Instructor course builder and scores.

Tables

  • student name, email, avatar, xp, streak, last_active
  • instructor name, email, avatar, bio
  • course title, summary, cover, category, level, instructor_id
  • lesson course_id, instructor_id, position, title, body, thumb, minutes
  • quiz_question lesson_id, instructor_id, prompt, option_a, option_b, option_c, option_d, correct, …
  • enrollment student_id, course_id, instructor_id, status, done_lessons, total_lessons
  • lesson_progress student_id, lesson_id, course_id, instructor_id
  • quiz_attempt student_id, lesson_id, course_id, instructor_id, score, total, result

Roles

  • student Student, consumer
  • instructor Instructor, staff

Pages

  • /home My courses (student)
  • /explore Explore (student)
  • /courses/:id Course (student)
  • /lessons/:id Lesson (student)
  • /certificate/:id Certificate (student)
  • /teach My courses (instructor)
  • /teach/:id Course (instructor)
  • /team Team & access (instructor)

Components

  • StudentHome Student home (continue card, streak week, my courses with progress) and Explore catalogue with search and categories
  • CourseView Course page: cover, summary, facts, enrol/continue card with instructor, lesson list with progress and quiz results
  • LessonView Lesson reader: text with a try-it callout, AI tutor (explain another way + quiz hints), quiz with 3 attempts, completion and course celebration
  • Certificate Certificate of completion for a finished course (locked state until every lesson is done)
  • LearnlyLogin Sign-in: illustrated brand panel with a sheet (phone) or side card (desktop); email/password with visible labels, Google sign-in
  • InstructorHome Instructor studio: weekly summary, course list with completion and quiz scores, students who need a nudge, recent activity, new-course sheet
  • InstructorCourse Instructor course editor: lessons with their quiz questions (add lesson / add question), and each student's progress and quiz results
  • StudioNav Instructor studio header for platform-rendered studio pages (Team & access); also pads the page around it

Rules on every write

  • quiz_attempt You have used all 3 attempts for this quiz.

How its workflows run

Each one is a server workflow in your project: it runs on its trigger, with retries, and its runs show in the builder's log.

  1. Track lesson completion

    When a row changes: lesson_progress created. Then: Look up enrollment, then Update enrollment.

  2. Celebrate a completed course

    When a row changes: enrollment updated, when status is completed. Then: Notify student.

  3. Tell instructors about a failing quiz

    When a row changes: quiz_attempt created. Then: Notify.

Set it up

It starts a new project, with its data, roles and sign-in ready.

  1. Start the project

    Use the button above, or ask your coding agent with the Appbricx MCP server connected (quickstart).

  2. Sign in as each role

    The demo logins open each role's home. Change what you like in plain words or in the contract.

  3. Deploy

    When dev looks right, deploy. Production gets a snapshot first, so you can roll back.

Use it with your coding agent

The agent creates the project, builds it and signs in as each role.

Prompt
Start a new Appbricx project from the Learnly template (slug "learnly") with use_template. Call it "My Learnly", then sign in as each role, verify it and tell me what to change first.
MCP call
{
  "tool": "use_template",
  "arguments": {
    "slug": "learnly",
    "name": "My Learnly"
  }
}
CLI
appbricx templates use learnly --name "My Learnly"

Make it yours in plain words.