Brightpath Academy User Manual
Version 1.0

Overview

The Brightpath Academy website is an online school for practical skills: photography, spreadsheets, home cooking and drawing. Visitors browse the course catalog, watch a free preview lesson, create a student account and pay for a course by card through Stripe. A paid order opens the course right away. Students watch the video lessons, mark them complete, take short quizzes and receive a certificate with a check code when they finish.

The staff area runs the school: courses, lessons and quizzes, students and their enrollments, orders and receipts, the refund desk, instructors, website messages, the website pages and pictures, staff accounts with their rights, and an activity log of every change. Instructors can have their own login that shows only the courses they teach.

How the pieces fit together

STUDENTS THE RECORDS STAFF Catalog and course pagesfree preview lesson, price, refund policy Sign in and checkoutstudent account, card payment My courses and My accountlessons, quizzes, receipts, refunds Contact and Certificate check Courses, lessons, quizzeswhat the school teaches Orders and enrollmentswho paid, who can open what Refund requests, certificatesdecisions and check codes Stripe (card payments) Instructorstheir own courses and students Office staffstudents, orders, refunds, messages Managerseverything, plus users and settings

Students work on the public website, staff work in the staff area, and both read and change the same records. Card payments and refunds go through Stripe.

Who does what

PersonSigns in atTypical work
StudentSign in in the website header, then the Students cardEnrol and pay, watch lessons, take quizzes, print the certificate, ask for a refund
InstructorStaff sign inKeep their own courses, lessons and quizzes up to date, follow their students
Office staffStaff sign inAnswer messages, help students, check orders, decide refund requests, edit the website
ManagerStaff sign inEverything above, plus staff accounts and rights, and Settings

1. Getting Started

1.1 Two ways to sign in

Students and staff have separate accounts. The Sign in button in the website header opens a page with two cards:

The sign-in page with a Students card and a Staff and instructors card
Who is signing in? Students Sign inCreate account Email Password Sign in Staff and instructors Instructors see their own courses. Office staff see the areas they have rights to. Go to staff sign in 1 2 Staff sign in User name Password Sign in Students sign in on the student page 3
  1. Students sign in with their email and password, or open Create account. See 15.2.
  2. Staff and instructors click Go to staff sign in.
  3. The Staff sign in page takes the user name and password a manager gave you. Every public page also has a Staff sign in link in the footer, and the address is /AdminLogin.

1.2 Signing in as staff

Staff sign in
  1. Type your User name and Password and click Sign in.
  2. The first time, you are asked to choose your own password: at least 8 characters, different from the first password, typed twice. Then the staff area opens on the Dashboard.
Wrong password message
  • A wrong user name or password shows The user name or password is not right. The page does not say which of the two was wrong.
  • After 6 wrong tries within 5 minutes the sign-in pauses: Too many tries. Wait a few minutes and try again.
  • You stay signed in for 8 hours after your last action. Sign out in the header ends the session at once.
  • Forgot your password? Ask a manager to use Reset password in Users and rights.

1.3 The staff screen

The Dashboard
Brightpath AcademySTAFF Grace HollowaySchool manager View site Sign out Dashboard Courses and lessonsQuizzesRefunds2 Messages1 … A B C D E
PartWhat it does
ASchool name and STAFF badgeClick it to go back to the Dashboard.
BYour name, View site, Sign outShows who is signed in and their job title. View site opens the public website.
CMenuShows only the areas you have rights to. Managers also see Settings and Users and rights.
DBadgesRefunds counts the requests waiting for a decision. Messages counts unread website messages.
EWork areaLists with search boxes and filter chips. Click a row to open it in a window.

1.4 Windows, confirmations and messages

  • Records open in a window over the list. Close it with Close, the cross in the corner or Esc. If you changed something and did not save, you are asked before the window closes.
  • Actions that cannot easily be undone ask first, for example a full refund:
Refund in full? confirmation
  • A short message at the bottom of the screen confirms what happened, for example $49.00 refunded (re_…). Access to the course has ended.
  • When you do not have the right for an action, the button is not shown. If you try anyway the server refuses with a message such as You do not have the Edit right on Refunds., and the refused attempt is written to the Activity log.

1.5 Rights in short

Every menu area has three rights. A manager sets them for each person in Users and rights.

RightMeans
ViewThe area is in your menu and you can open its records.
EditYou can add and change records, for example approve a refund.
ExtraOne sensitive action named for the area, for example Publish and delete courses or Grant or end access to a course.

Instructor accounts are linked to their instructor profile and see only their own courses, quizzes, students and enrollments.

An instructor sees only her own courses

Maya Okafor, signed in as an instructor, sees her two photography courses and a short menu.

Opening an area without the right shows No access:

No access

1.6 On a phone

Both the website and the staff area work on a phone. In the staff area the menu opens from the ☰ button at the top left and lists become cards.

Staff dashboard on a phone Staff menu on a phone Refunds on a phone

The Dashboard, the menu and the refund desk on a phone.

2. Dashboard

The Dashboard opens after you sign in. It shows how the school is doing today. You see a tile only for the areas you have rights to. Instructor accounts see Your courses instead, with numbers for the courses they teach.

Dashboard

2.1 The tiles

TileCounts
Net revenueAll paid orders minus their refunds, with the number of sales in the last 30 days.
Active enrollmentsStudents who can open a course now.
StudentsStudent accounts.
Open refund requestsRequests waiting for a decision. Review now opens the refund desk.
Unread messagesWebsite messages nobody has opened yet.
Certificates issuedValid certificates.
Average progressThe average share of lessons finished across all enrollments.

2.2 Latest orders, refund queue and your rights

  • Latest orders lists the newest orders with their status: paid pending part refunded refunded cancelled.
  • Refund queue shows the waiting requests, each marked eligible or outside policy, with Open the refund desk.
  • Your rights says in words what you may do.
  • Enrollments by course compares how many students each course has.

3. Courses and lessons

Everything the school teaches. Each course has a topic, a level, a price, an instructor, a cover picture and its lessons in order.

Courses and lessons

3.1 Finding a course

Type in the search box, or use the chips All, Published and Drafts. The list shows each course's topic, level, price, number of lessons, number of students and status. Click a row to open the course.

3.2 Adding or changing a course

Editing a course
  1. Click New course, or click a course in the list.
  2. Fill in Title, Topic, Level (Beginner, Intermediate, Advanced), Price (USD) and Instructor.
  3. Short summary shows on the course cards. Description and What you will learn (one line each) show on the course page.
  4. Choose the Cover picture from the Media library. Tick Show on the home page to list the course under Start with a favourite on Home.
  5. Click Save.

3.3 Lessons

Editing a lesson
  1. In the course window click Add a lesson, or Edit beside a lesson.
  2. Give it a Lesson title and Length (minutes). Tick Free preview for everyone for the lesson that visitors may watch before paying.
  3. Choose the Video and, if you like, a Video poster picture. Videos are uploaded in the Media library.
  4. Write a One-line summary and the Notes for students that show under the video.
  5. Click Save lesson. Use the arrows in the course window to change the order.
A student's progress is the share of lessons they have marked complete. Adding a lesson to a course lowers everyone's percentage a little; removing one raises it.

3.4 Publishing, unpublishing and deleting

  • Publish puts a course in the catalog. Unpublish takes it out of the catalog and closes its course page, so nobody new can buy it; students already enrolled keep their lessons. A course needs at least one lesson before it can be published.
  • Delete removes a course and its quizzes. A course that students have joined cannot be deleted: Students have joined this course, so it cannot be deleted. Unpublish it instead.
  • Publishing and deleting need the Extra right Publish and delete on Courses and lessons.

4. Quizzes

Short checks inside a course. Each quiz comes after a chosen lesson and has a pass mark. A student must pass every quiz in a course to receive the certificate.

Quizzes

4.1 Writing a quiz

Editing a quiz
  1. Click New quiz, or a quiz in the list.
  2. Choose the Course and Comes after (the lesson the quiz follows).
  3. Type the Quiz title and the Pass mark (%).
  4. For each question: type the Question, the answers, and click the round button beside the right one. Add an answer adds a choice, × removes one. Why it is right is shown to the student after they answer.
  5. Add a question adds the next one; the arrows change the order and Remove deletes a question. Click Save.

4.2 How students take a quiz

A quiz on the website
  • The quiz is marked on the server when the student clicks Submit answers. The result shows the score, the pass mark and which questions to look at again.
  • Students can try again as often as they like. The best score is kept.
  • Instructor accounts see and edit only the quizzes of their own courses.

5. Students

Everyone who has created a student account on the website, with their phone number, how many courses they have and whether the account is active.

Students

5.1 Finding a student

Search by name, email or phone, or use the chips All, Active and Switched off. Click a row to open the student.

5.2 A student's details

A student
  • Name, Email and Phone can be corrected and saved with Save. The email is the student's sign-in name, so two accounts cannot share one email. The phone needs 7 to 15 digits; spaces, brackets, dots, dashes and a plus sign are allowed.
  • Below are the student's courses with their progress, their orders and any certificates.
  • Students can change their own name and phone in My account on the website, but not their email.

5.3 Resetting a student's password

Students have no self-service password reset. When a student cannot sign in:

  1. Check who is asking, for example by calling the phone number on the account.
  2. Open the student and click Reset password. A new password is shown once, in the window.
  3. Give it to the student. They are signed out everywhere and sign in with the new password.

5.4 Switching an account off

Switch off stops the student from signing in and signs them out at once; Switch on lets them in again. Their orders, progress and certificates are kept. Resetting and switching off need the Extra right Reset password and switch off on Students.

6. Enrollments

An enrollment is a student's access to one course. It is made when an order is paid, or by staff with Grant access.

Enrollments

6.1 Statuses and progress

StatusMeans
ActiveThe student can open every lesson and quiz of the course.
FinishedEvery lesson is complete and every quiz passed; the certificate has been issued.
LockedAccess ended after a full refund, or staff ended it. The progress is kept and comes back if access is restored or the student pays again.

Filter by course with the drop-down, by status with the chips, or search by student or course.

6.2 Opening an enrollment

An enrollment

The window shows the order behind the enrollment, the progress, and every lesson and quiz with Done or the best quiz score and number of tries.

6.3 Granting access without a payment

Grant access
  1. Click Grant access.
  2. Choose the Student and the Course and click Grant access.

Use it for a scholarship or a make-good. No order is made, so there is nothing to refund. If the student already had a locked enrollment for the course, it is opened again with the old progress.

6.4 Ending and restoring access

End access locks an active enrollment; Restore access opens a locked one again. Neither moves money: to give money back, use the refund desk. Granting, ending and restoring need the Extra right Grant or end access on Enrollments.

7. Orders

Every purchase made on the website, with the amount, what was refunded and the status.

Orders

7.1 Order statuses

StatusMeans
UnpaidThe student started a checkout but the payment has not arrived.
PaidStripe confirmed the payment; the course is open.
Part refundedPaid, with one or more goodwill refunds. The student keeps access.
RefundedEverything paid has been given back. Access has ended.
CancelledAn unpaid order that was cancelled. No money moved.

The chips All, Paid, Refunded (part or full), Unpaid and Cancelled filter the list.

7.2 A paid order

A part refunded order

The window lists the payment and each refund with its date, where it came from and the Stripe refund id, then the Net received. dashboard marks a refund that someone made directly in the Stripe dashboard (see 8.7). The Payment id is the payment's id in Stripe, useful when you look it up there.

7.3 An unpaid order

An unpaid order

Students sometimes leave the payment page. The student can finish paying from My account (Complete payment), or from the checkout page. To clear an order that will not be paid, click Cancel unpaid order. Before cancelling, the site asks Stripe whether the order was paid after all; if it was, the order is kept and marked paid: That order was already paid, so it was kept. Cancelling needs the Extra right Cancel unpaid orders on Orders.

8. Refunds

Students ask for refunds from My account on the website. Every request comes to the refund desk, and a person always decides it.

8.1 The refund conditions

A manager sets three conditions in Settings. As shipped:

ConditionDefaultChecked against
Refund window14 daysDays since the payment date.
Progress limitunder 30%Share of the course's lessons the student has marked complete.
No certificateonThe student has not been given a certificate for the course.

When all three are met the request is marked Eligible. If one is not met the student can still send it; it is marked Outside policy and you decide case by case. One open request per order; a student cannot ask for more than what was paid minus earlier refunds.

Student asksMy account,with a reason Eligibleall three conditions met Outside policyone or more not met Staff decideEdit righton Refunds Full refundEverything left goes back through Stripe.Access ends, progress kept but locked.A certificate is revoked. Partial refund (goodwill)An amount you choose, less than whatis left, goes back through Stripe.The student keeps access. DeclineYou write the reason; the student sees it.No money moves. Every step is written to the activity log. Receipts show each refund line.

Eligible or not, every request waits for a person. The checks help you decide; they do not decide for you.

8.2 The refund desk

The refund desk

The Refunds badge in the menu counts the waiting requests. The list opens on Waiting; Decided and All show the rest. The note at the top repeats the current conditions. Click a request to open it.

An eligible request

The window shows the order, what was refunded so far and what is Left to refund, the student's reason, and the three Conditions when the request was made, each MET or NOT MET with the numbers.

8.3 Approving a full refund

  1. Choose Full refund. The amount is everything left on the order.
  2. Add a Note to the student if you like, and click Save decision.
  3. Confirm with Refund in full.
The refund done message

The site sends the refund to Stripe and saves Stripe's refund id. Then the student's access to the course ends (progress kept but locked) and any certificate for the course is revoked, so the Certificate check on the website says Revoked. If Stripe refuses, nothing changes on the site and the message says why, for example Stripe did not make the refund: …; the request goes back to Waiting.

A request refunded in full

8.4 Giving a partial (goodwill) refund

A partial refund
  1. Choose Partial refund (goodwill) and type the Amount to refund (USD).
  2. Add a note and click Save decision, then confirm with Refund.
  • The amount must be less than what is left. The window shows the most you can give; for everything that is left, choose Full refund instead.
  • The student keeps access and the order shows Part refunded.
Refund confirmation

8.5 Declining a request

Declining a request

Choose Decline, write the Reason for declining (the student sees it) and click Save decision. A reason is required. No money moves and the request moves to Decided.

Decided requests

8.6 What the student sees

The decision shows under the order in the student's My account, with your note. A full refund also locks the course in My courses, with Enrol again.

My account after a full refund A locked course in My courses A receipt with a refund line

The receipt lists the payment and each refund, then the Net paid. A student who pays again later gets a new order; the old progress comes back and, if they finish again, a new certificate is issued.

8.7 Refunds made in the Stripe dashboard

If someone refunds a payment directly in the Stripe dashboard, Stripe tells the site through the webhook (charge.refunded). The site adds the refund line to the order with the source dashboard, never more than what is left. When the order is refunded in full this way, access ends, the certificate is revoked and a waiting request for that order is closed as approved. The activity log shows refund synced by Stripe.

Prefer the refund desk. It records who decided, why, and the student sees the note.

8.8 Reopening a declined request and view-only staff

  • A declined request can be opened again with Reopen this request, as long as no other request is open for the same order. This needs the Extra right Reopen declined requests on Refunds.
  • Staff with only the View right on Refunds see the requests and decisions but no decision buttons:
A request seen with the View right only

9. Instructors

The people who teach. Their profiles show on the Instructors page of the website and on each course page.

Instructors

9.1 Adding or changing a profile

An instructor profile
  1. Click New instructor, or an instructor in the list.
  2. Fill in Name, Role, the topic they Teach, About and the Photo from the Media library.
  3. Show on the Instructors page hides or shows the profile without deleting it. Click Save.

Delete is refused while the instructor still has courses (Move the courses to someone else first, or hide the profile instead.) or while a staff account is linked to the profile.

9.2 Giving an instructor a login

A profile is not a login. To let an instructor sign in, a manager creates a staff account in Users and rights, links it to the profile and ticks See only own courses and students.

10. Messages

Messages sent from the Contact page, newest first. The Messages badge counts the unread ones.

Messages

10.1 Reading and answering

A message
  1. Click a message. Opening it marks it read.
  2. Reply by email opens your email program with the address and a Re: subject filled in.
  3. Mark as unread puts it back for a colleague. Delete removes it for good and needs the Extra right Delete messages.

Use the chips All, Unread and Read, or search by name, email or text.

11. Pages and Media library

The public pages are built from blocks you can edit without a developer: titles, text, buttons, pictures, cards, steps, questions and more. Pictures and videos live in the Media library.

11.1 Editing a page

The Pages editor
  1. Choose the page with the tabs: Home, Course catalog, Instructors, FAQ, About, Terms and refunds, Contact, Certificate.
  2. Click any text to change it. In longer text a small toolbar offers bold, italic, a link, a list and clear formatting. Type {name} to show the school name from Settings.
  3. Move a block by dragging its handle or with the arrows. Hide takes it off the website without deleting it.
  4. Click Save page. Changes go live at once; View page opens it on the website.
  • Blocks marked From your data (featured courses, topics, the catalog, instructor cards, the refund conditions, the contact form, the certificate check) fill themselves from your records. You can move them, retitle them or hide them, but not remove them.
  • Add a block at the bottom of the page:
Add a block
  • Versions keeps the last five saved versions of each page. Restoring one needs the Extra right Restore versions on Pages.
  • If you leave a page with unsaved changes you are asked first.

11.2 The Home slideshow

The page top block with slides

The page top of Home shows pictures of the school that change every 7 seconds. The picture in the block is the first slide; the Slides list holds the others.

  1. Click + Add a slide, then the empty picture, and choose a photo from the Media library.
  2. Type a short Caption, for example Classroom. It shows in the corner of the picture. The caption of the first slide comes from the picture's note in the Media library.
  3. Use the arrows to change the order and the bin to remove a slide. Click Save page.

Visitors can also use the dots and arrows under the picture, or swipe on a phone. The slideshow pauses while the pointer is on its controls and stays still for visitors who ask their device for less motion. Slides are only used on the Home page.

11.3 The Media library

The Media library
  • Upload photos or videos takes up to 20 files at once: photos in JPG, PNG, WebP or GIF up to 8 MB each, and MP4 videos up to the size set in Settings (30 MB as shipped).
  • Filter with All, Photos and Videos, or search by name or description. Each card says where the file is used.

11.4 Describing or deleting a file

Editing a file
  • Description for screen readers (alt text) says in a few words what the picture shows. Note for staff is for you, and for the first Home slide it is the caption.
  • Delete file removes the file for good. A file that is still used on the website cannot be deleted: replace it there first. Deleting needs the Extra right Delete files.

12. Users and rights

Staff accounts and what each person may do. Only managers see this page.

Users and rights

12.1 Adding a staff member

A new user
  1. Click New user.
  2. Type the Name, a User name (3 to 30 letters, digits, dots, dashes or underscores) and the Job title.
  3. Tick Manager for full access, or set the rights below. Keep Can sign in ticked.
  4. Click Save. A first password is shown once:
The first password, shown once

Give the user name and first password to the person. At their first sign-in they choose their own password (1.2).

12.2 Setting rights

Rights for an instructor

Tick View, Edit and Extra for each area. Edit needs View, and Extra needs Edit. The Extra column names the one action it unlocks:

ViewThe area is in the menu.Open lists and records.Example: see refund requests EditAdd and change records.Needs View.Example: approve or decline a refund ExtraOne sensitive action per area.Needs Edit.Example: reopen a declined request Managers have every right. Settings and Users and rights are for managers only. Activity log has View only.
AreaExtra unlocksCan be limited to own
Courses and lessonsPublish and deleteYes
Quizzes–Yes
StudentsReset password and switch offYes
EnrollmentsGrant or end accessYes
OrdersCancel unpaid orders–
RefundsReopen declined requests–
Instructors––
MessagesDelete messages–
PagesRestore versions–
Media libraryDelete files–
Activity logView only–

12.3 Instructor accounts

Choose the instructor under Linked instructor profile and tick See only own courses and students (Courses, Quizzes, Students, Enrollments). The instructor then sees only the courses where they are the instructor, the quizzes of those courses, and the students and enrollments in them. A typical instructor has View and Edit on Courses and Quizzes, and View on Students and Enrollments.

12.4 Resetting a password and switching an account off

  • Reset password makes a new first password, shown once, and signs the person out. They choose their own at the next sign-in.
  • Untick Can sign in and save to switch an account off; the person is signed out at once.
  • You cannot take your own manager right or sign-in away, and at least one active manager must remain.

13. Activity log

Every change and every refused attempt, newest first: who, what, on which record and the result. Students' own actions, such as signing up, paying and asking for a refund, are listed with (student) after the name; events from Stripe show Stripe.

Activity log

13.1 Refused attempts

The chip Refused or failed shows wrong passwords, actions refused for missing rights and refunds Stripe did not make.

Refused attempts

Search by action, person or item. Staff without the Activity log right see My activity, their own actions only.

14. Settings and My account

14.1 School details

Settings

Managers set the School name, Tagline, Contact email, Phone, Address and Opening hours. They show in the website header, footer and Contact page.

14.2 Refund conditions and videos

  • Refund window (days): 0 to 365, counted from the payment date.
  • Progress limit (%): 0 to 100; eligible while less than this share of the lessons is finished.
  • Not eligible once a certificate has been issued.
  • Largest video upload (MB): 1 to 100.

The sentence under the conditions shows how they read on the website. Click Save settings. The course pages, the Terms and refunds page and the students' refund window use the new conditions at once.

14.3 Payments

The Payments panel shows the run mode, whether the Stripe secret key and webhook secret are set, and the exact webhook address to give Stripe. The keys themselves are not on this page; they are in appConfig/application.cfg (see 16.3).

14.4 My account

My account

Every staff member can see their user name, job title and rights, and change their password: type the current password, then the new one (at least 8 characters, different from the current one) twice and click Change password. Your other sign-ins are closed when the password changes.

15. The Public Website

What students see, so you can help them on the phone.

15.1 Home and the course catalog

Home

Home opens with the school slideshow, then featured courses, why Brightpath, the topics and how it works. The top menu has Courses, Instructors, About, FAQ, Certificate and Contact.

Course catalog

The catalog filters by topic and level. A course page shows the price, what you will learn, the syllabus with lengths and quizzes, the instructor and the refund conditions, with Enrol for $… and Watch the free preview lesson.

A course page

15.2 Creating a student account

Create account with a missing phone number

On Sign in, the Students card has Create account: name, email, phone, and a password of at least 8 characters typed twice. The phone number is required. Each email can have one account.

Create accountname, email,phone, password Enrol and paycard on Stripe'spayment page Lessonswatch, read notes,Mark complete Quizzesreach the pass mark,retry any time Certificateissued automatically,with a check code Refund window starts Progress = lessons complete Anyone can check the code

15.3 Enrolling and paying

Checkout
  1. On a course page the student clicks Enrol for $…. If they are not signed in, they sign in first and come back.
  2. The checkout shows the order number and price. Pay $… by card opens Stripe's secure payment page. The card details are typed there, never on the Brightpath site.
  3. After paying, Stripe sends the student back to You are enrolled with Start learning. The order turns Paid as soon as Stripe confirms it.

A student who leaves Stripe's page without paying keeps an Unpaid order, which they can pay later from My account or cancel with Cancel this order.

Checkoutorder made, Unpaid Stripe payment pagestudent types the card Webhookcheckout.session.completedsigned by Stripe Order Paidcourse opens Back to the site"You are enrolled" Refunds made in the Stripe dashboardcome back the same way (charge.refunded).

The order becomes Paid when Stripe's signed message arrives. When the student returns, the site also checks with Stripe, so the course opens even if the message is a little late.

15.4 My courses and lessons

My courses

My courses shows each course with its progress and Start course or Continue, and suggests more courses under Keep learning.

A lesson

A lesson has the video, the lesson notes, Mark complete and a button to the next step. The list at the side shows every lesson and quiz, ticked when done. Every lesson of a paid course is open; visitors who have not paid can open only the free preview lesson.

Home on a phone A lesson on a phone Sign in on a phone

15.5 Certificates and the Certificate check

A certificate

When every lesson is marked complete and every quiz passed, the certificate is issued automatically with a code such as BPA-7K3Q-92XD. The student opens it from My courses and can Print certificate.

The Certificate check

Anyone, for example an employer, can type the code on the Certificate page. A valid code shows the name, course and date. After a full refund the same code shows Revoked:

A revoked certificate

15.6 My account and asking for a refund

My account

My account shows the profile (Edit profile changes the name and phone), every order with its status, Receipt, and Request a refund.

Requesting a refund
  1. The student clicks Request a refund. The window shows the three conditions for this order and the most that can be refunded.
  2. They write why and click Send request. Outside the conditions they can still send it.
  3. The request shows under the order as waiting, with Withdraw request while nobody has decided it.
A sent request

15.7 Contact and Terms

Contact

The Contact page shows the school details from Settings and a form (name, email, topic, message) that arrives in Messages. Terms and refunds explains the terms and shows the current refund conditions.

Terms and refunds

16. Installation & Setup

For the person who installs and looks after the site.

16.1 Run mode

appConfig/application.cfg has app.app.runmode. 0 is a try-out mode with invented records and test payments; 1 is Production: real staff accounts, real card payments through Stripe and real refunds. Set app.app.runmode | 1 before the school opens.

On the first start in Production the site removes every try-out record once (students, enrollments, orders, refund requests, certificates, messages, the activity log and all staff accounts) and keeps your courses, quizzes, settings, pages and media. It then makes the first manager account. This happens only once; later starts never remove anything.

16.2 The first sign-in

First sign-in box
  1. Start the site and open /AdminLogin on the computer the site runs on. A First sign-in box shows the user name admin and a first password made for this site. It is shown only on that computer and is also saved in appConfig/initial-admin.txt.
  2. Sign in with them. You are asked to choose your own password.
Choosing your own password
  1. Type a new password twice and click Save and sign in. The box and the file disappear.
  2. Create a manager account with your own name in Users and rights, so the activity log shows a person, then the accounts for your staff and instructors.
First starttry-out records removed,admin account made /AdminLoginon the site's computer:admin + ****-****-**** Choose a password8 or more characters,box and file disappear Add peoplemanagers, staff andinstructors with rights
  • Lost the first password before using it? Delete appConfig/initial-admin.txt and open the sign-in page again; a new one is made.
  • Locked out of every manager account? Remove the manager entries from data/staff.json and open the sign-in page; a new first password is made.

16.3 Stripe

  1. In appConfig/application.cfg set app.stripe.secretkey to your Stripe secret key.
  2. In the Stripe dashboard add a webhook endpoint at https://<your site>/stripe/webhook that sends checkout.session.completed and charge.refunded. Copy its signing secret into app.stripe.webhooksecret.
  3. Restart the site and check Settings → Payments: the secret key and the webhook secret both say set, and the webhook address matches.
  4. Make one small real payment and refund it from the refund desk to test the whole path.
Never put the Stripe keys anywhere except appConfig/application.cfg, and never commit that file with real keys to a public repository.

16.4 Deploying and backups

  • Serve the site over HTTPS. The site account needs write rights on data/, appConfig/, temp/, logs/ and images/ (uploads).
  • After deploying, open /data/staff.json and /appConfig/initial-admin.txt in a browser: both must answer 404.
  • Back up data/, appConfig/ and the uploaded files in images/ every day. They hold every record.
  • When you deploy a new version, never overwrite data/ or appConfig/application.cfg on the server.

17. Reference

17.1 Statuses

RecordStatuses
OrderUnpaid Paid Part refunded Refunded Cancelled
EnrollmentActive Finished Locked
Refund requestWaiting Refunded in full Part refund Declined Withdrawn, each also Eligible or Outside policy
CertificateValid Revoked
CoursePublished Draft
MessageNew Read

17.2 Limits and timings

ItemValue
Staff session8 hours after the last action
Student session14 days after the last visit
Wrong passwords6 within 5 minutes pause the sign-in for a few minutes
Passwordsat least 8 characters
Phone number7 to 15 digits
Refund window0 to 365 days (14 as shipped)
Progress limit0 to 100% (30% as shipped)
PhotosJPG, PNG, WebP, GIF, up to 8 MB
VideosMP4, up to the Settings value (1 to 100 MB, 30 as shipped)
Upload at once20 files
Page versions kept5 per page
Home slideshowa new picture every 7 seconds
Lists12 rows per page

18. Quick Answers

18.1 Common questions

QuestionAnswer
A student paid but the course is not open.Find the order in Orders. If it is Paid, check the enrollment in Enrollments. If it is still Unpaid, look for the payment in the Stripe dashboard (the order number is in its details). If Stripe has it, the webhook did not reach the site: check Settings → Payments and the webhook in Stripe, which can resend the event.
A student forgot their password.Open the student in Students and click Reset password, then give them the new password (5.3).
Can we refund outside the 14 days?Yes. The request is marked Outside policy, but you can still approve it in full or in part.
We want to give a student a course for free.Enrollments → Grant access. No order is made.
A refund failed.The message says what Stripe answered and the request is waiting again. Fix the cause in Stripe and decide it again. The failure is in the activity log.
We refunded in the Stripe dashboard. Do we need to do anything?No. The webhook adds the refund to the order. A full refund also ends access and revokes the certificate.
An employer asks if a certificate is real.Send them to the Certificate page on the website, where they type the code.
A student finished but has no certificate.Open the enrollment: every lesson must be Done and every quiz passed. A lesson added later must also be completed.
How do I stop selling a course?Unpublish it. Students who already joined keep their lessons.
A staff member left.Open them in Users and rights, untick Can sign in and save. They are signed out at once and their history stays in the log.
How do I change the Home pictures?Upload the photos in the Media library, then edit the slides in Pages → Home (11.2).
Who changed this?Activity log: search for the record or the person.