Platform Training Guide

Platform Training Guide

Everything you need to manage courses, students, content, and progress on the A Transform Hub LMS. Covers Admin and Teacher roles.

🏠 Overview

A Transform Hub LMS is a web-based learning platform that allows you to create and manage courses, enroll students, deliver content in multiple formats, and track progress — all from a browser with no software to install.

📚

Courses & Content

Create courses with modules and chapters. Deliver video, PDF, DOCX, presentations, audio, and more.

🎓

Students

Add and approve students, assign them to batches, and track their progress through every chapter.

📊

Progress & Grades

See exactly which chapters each student has completed. Assign, collect, and grade assignments.

📅

Sessions

Schedule live classes and coaching sessions. Students receive reminders and meeting links.

ℹ️
The admin panel lives at atransformhub.com/admin.html. You must be on a device with a stable internet connection — all changes save directly to the server.

👥 Roles & Access

RoleWhoCan DoCannot Do
Admin Platform owner / manager Everything — create courses, add students, view all data, publish content, change settings
Teacher Instructor / tutor View student progress, access Hindi teacher dashboard, view assignments and grades Create or edit courses, approve enrollments, change settings
Student Enrolled learner View enrolled course content, mark chapters complete, submit assignments Admin panel access

🔑 Login & Sessions

Admin Login

  1. Go to admin.htmlVisit atransformhub.com/admin.html in your browser.
  2. Enter your passwordThe default password is set in admin Settings. Change it immediately after first login.
  3. Stay logged inThe admin session is stored in your browser. Clearing your browser cache will log you out — your data on the server is safe.

Student / Teacher Login

  1. Go to login.htmlVisit atransformhub.com/login.html.
  2. Enter email addressMust be the email registered by the admin. A 6-digit code is sent to that email.
  3. Enter the codeValid for 10 minutes. Request a new code if it expires.
  4. Redirect to dashboardStudents land on their course dashboard. Teachers are directed to their assigned view.
💡
Tip: If a student says they didn't receive the code, check their spam folder first. If the email still isn't arriving, check the SMTP credentials in api/config.php on the server.

📊 Admin Dashboard

The dashboard gives you a live snapshot of the platform state.

CardWhat it shows
CoursesTotal programs in the system, including hidden ones.
Blog PostsTotal articles created, including drafts.
Visible CoursesPrograms currently shown on the public Courses page.
Visible PostsPublished blog articles live on the site.
Active StudentsStudents with status = Active (approved and enrolled).
PendingEnrollment requests waiting for admin approval.

The Programs at a Glance row shows each program with a (hidden) tag if it's not publicly visible. Click any program card to jump directly to its course content.

📚 Courses

A Course (called a Program in the system) is the top-level container. Students enroll in a course and access its modules and chapters.

Creating a new course

  1. Dashboard → + Add CourseOr navigate to Courses in the sidebar and click Add.
  2. Fill in course detailsTitle, icon (emoji), category, description, subtitle, and feature list.
  3. Set visibilityHidden courses are not shown on the public Courses page but can still be enrolled in directly by admin.
  4. Set enroll typelogin = standard student login. innerarc = access via InnerArc assessment link (for special programs).
  5. SaveThe course is created immediately and appears in Course Content for content to be added.

Editing a course

Go to Courses in the sidebar → click the pencil icon on any course row → update fields → Save. Changes are live immediately.

Hiding / showing a course

Toggle the Visible switch on any course row. Hidden courses still work for enrolled students — they just don't appear in the public catalog.

⚠️
Deleting a course removes it and all associated content permanently. Export or note down any chapter URLs before deleting. Students who were enrolled will lose access.

🎬 Course Content

Course content is organised as: Course → Module → Chapter. A Module is a topic group (e.g. "Module 1: Foundations"). A Chapter is an individual lesson within a module.

Adding a module

  1. Course Content → Select a courseChoose the program you want to edit from the dropdown.
  2. Click + Add ModuleEnter a module title and optional description. Click Save.
  3. Reorder modulesDrag the handle on the left of any module row to reorder.

Adding a chapter

  1. Open a moduleClick the module row to expand it and reveal its chapters.
  2. Click + Add ChapterEnter a chapter title, select the content type, and provide the content source (URL or inline text).
  3. Set duration (optional)A display label like "12 min" — for student reference only, not enforced.
  4. SaveChapter is added to the module and immediately accessible to enrolled students.

Content types

TypeWhat to enter in URL/Content field
VideoYouTube or Google Drive embed URL. See Adding Videos below.
PDFDirect URL to a PDF file (uploaded via the file uploader, or a public URL).
DOCXDirect URL to a Word document. Rendered inline — students can read without downloading.
PPTXDirect URL to a PowerPoint file. Displayed via Microsoft Office Online viewer.
MarkdownRaw Markdown text entered directly in the Content field, or a URL to a .md file.
HTMLRaw HTML entered in the Content field — useful for rich formatted notes.
ImageDirect URL to an image (JPG, PNG, WebP, GIF).
AudioDirect URL to an audio file (MP3, WAV, OGG).
💡
All content types show a download button to students automatically. PDFs render with a searchable text layer — students can use Ctrl+F to search inside the document.

🎓 Students

Viewing the student list

Go to Students in the sidebar. The table shows each student's name, email, enrolled programs, batch, and status (Active / Pending / Suspended).

Adding a student manually

  1. Students → + Add StudentEnter name, email, and phone number.
  2. Assign a courseSelect which program(s) to enroll them in.
  3. Assign a batch (optional)Assign to a class group if batches have been created.
  4. Set status to ActiveOnly Active students can log in. Leave as Pending if they haven't paid yet.
  5. SaveStudent can now log in using OTP at their registered email.

Editing a student

Click the pencil icon on any student row. You can update their name, email, enrolled courses, batch, status, and points.

Suspending a student

Change their status to Suspended. They will no longer be able to log in. Their progress data is preserved — reactivate by setting status back to Active.

ℹ️
Students cannot change their own email or enrolled courses. All changes must be made by admin.

📋 Enrollments

When a visitor fills in the enrollment form on the Courses page, their request appears here with status Pending.

Approving an enrollment

  1. Enrollments → review the requestCheck the student's name, email, phone, and requested course.
  2. Click ApproveThis creates an Active student account and sends them a welcome email with login instructions.
  3. Or click RejectThe request is dismissed. No account is created.
💡
You can also add students directly via the Students section without going through the enrollment flow — useful when you want to onboard students yourself.

🏫 Batches

A Batch is a class group within a course — for example, "Class 7 – Morning Batch" or "EFT Cohort June 2026". Batches allow you to assign sessions, assignments, and announcements to a specific group of students.

Creating a batch

  1. Batches → + Add BatchEnter a batch name, select the course it belongs to, and set a schedule description (e.g., "Mon/Wed 10–11 AM").
  2. Set capacity (optional)Maximum number of students allowed in the batch.
  3. SaveThe batch is now available to assign students to.

Assigning students to a batch

Go to Students → edit a student → set their Batch field to the relevant batch. Multiple students can be in the same batch.

📈 Progress Reports

Progress Reports show you how far each student has progressed through their enrolled courses.

Reading the progress report

ColumnMeaning
StudentStudent name and email.
CourseThe enrolled program.
Chapters DoneNumber of chapters marked complete by the student.
Total ChaptersTotal chapters in the course (only counts where content exists).
Progress %Chapters done ÷ total chapters × 100.
Last ActiveThe last chapter the student accessed (resume point).
ℹ️
Progress is saved to the server in real time. Students can switch devices and their progress will be exactly where they left off.

📝 Assignments

Creating an assignment

  1. Assignments → + Add AssignmentEnter title, subject, batch target, total marks, and due date.
  2. Add instructionsEnter the full assignment text in the description / content field. You can use HTML for formatting.
  3. Attach a file (optional)Paste a URL to a PDF or document that students should download as part of the assignment.
  4. SaveAll students in the target batch can now see this assignment in their dashboard.

Grading submissions

  1. Assignments → click any assignmentSee the list of students in the batch and their submission status.
  2. Click a student's rowView their submitted text or download their file submission.
  3. Enter marks and feedbackType the score out of total marks and optional written feedback.
  4. Save gradeThe student is notified and can view the grade and feedback in their dashboard.

Assignment statuses

StatusMeaning
PendingStudent has not yet submitted.
SubmittedStudent submitted — awaiting grading.
GradedMarks and feedback have been entered.
LateSubmitted after the due date.
ReturnedSent back to student for revision.

📅 Sessions

Sessions are scheduled live classes, coaching calls, or group meetings. Each session is assigned to a batch and includes a meeting link.

Scheduling a session

  1. Sessions → + Add SessionEnter session title, batch, date and time, and duration.
  2. Add the meeting linkPaste a Google Meet, Zoom, or any video call link. Students see this link in their dashboard when the session is upcoming.
  3. Add a description (optional)What will be covered, any preparation notes.
  4. SaveSession appears in the student dashboard under Upcoming Sessions.
💡
Create a recurring Google Meet link for each batch and reuse it for every session — students only need to bookmark one link.

✍️ Blog Posts

Creating a post

  1. Blog Posts → + Add Blog PostEnter title, excerpt (shown on listing page), category, and reading time estimate.
  2. Write the contentFull post content in the body field. HTML is supported for formatting.
  3. Set gradient coloursThe card colour on the blog listing page. Use hex values (e.g., #F4721B).
  4. Toggle VisibleOnly visible posts appear on the public blog. Keep posts as hidden drafts until ready.
  5. SaveLive immediately if visible is turned on.

⚙️ Settings

Settings control the homepage content, payment details, and booking call links.

SettingWhere it appears
Hero HeadlineLarge banner text on the homepage.
Hero SubtitleSmaller supporting text under the headline.
Stats (Students, Instructors, Courses, Rating)The four stat cards on the homepage.
Payment QR / UPI IDShown on the payment confirmation screen after enrollment.
Payment InstructionsText shown alongside the QR code.
WhatsApp NumberThe floating WhatsApp button on all pages.
Book a Call — Caller Names & LinksThe "Book a Call" buttons on course detail pages.
Admin PasswordChange the admin panel login password here.
⚠️
Changing the admin password takes effect immediately. If you forget it, it must be reset directly in the server's database by a developer.

👩‍🏫 Teacher Overview

Teachers access a read-only view of student data. They cannot create or edit course content, approve enrollments, or change settings.

What teachers can do

  • View all active students and their progress
  • See which chapters each student has completed
  • View assignment submissions and grades
  • Access the Hindi Teacher Dashboard for Hindi Mastery students
  • View scheduled sessions for their batches

Teacher login

Teachers log in via the standard OTP login page at atransformhub.com/login.html using their registered email. The admin must first add the teacher as a student with their email before they can log in.

🇮🇳 Hindi Teacher Dashboard

The Hindi Teacher Dashboard is a dedicated panel for teachers managing the Hindi Mastery program. It is accessible at atransformhub.com/Hindi/teacher_dashboard.html.

Dashboard sections

SectionWhat it shows
Student RosterAll students enrolled in Hindi Mastery (course ID: c3). Shows their current progress level.
Progress OverviewWhich topics each student has completed in Bolo Hindi and Hindiwala Everyday.
RecordingsAudio recordings submitted by students via the speaking practice feature.
TimetableWeekly class schedule view. Scrollable on mobile.
💡
On a tablet or phone, tap the menu icon in the top-left to open the navigation sidebar. It auto-closes when you navigate to a new section.

🎞️ Supported Content Formats

Every chapter in the course player renders the content inline — students do not need to download files to read them. A download button is always shown as a backup option.

▶️

Video

YouTube or Google Drive. Embedded player, full controls. Does not count against hosting storage.

📄

PDF

Rendered page-by-page with retina quality. Text is selectable and searchable with Ctrl+F. Large files load lazily.

📝

DOCX (Word)

Converted to HTML inline. Tables scroll horizontally on mobile. A warning appears if equations were dropped during conversion.

📊

PPTX (PowerPoint)

Displayed via Microsoft Office Online viewer. Full slide deck, all animations preserved. Requires a public file URL.

🎵

Audio

HTML5 audio player with playback controls. Useful for pronunciation guides, recorded lectures, and language exercises.

🖼️

Image

Full-width responsive image. Supports JPG, PNG, WebP, GIF.

📋

Markdown / HTML

Write structured notes directly in the admin panel. No file needed. Markdown renders headings, lists, bold, code blocks.

▶️ Adding Videos

⚠️
Do not upload video files directly to the server. Videos must be hosted on YouTube or Google Drive and linked by URL. Direct video uploads are blocked to prevent storage overload.

YouTube

  1. Upload your video to YouTubeSet it to Public or Unlisted. Unlisted means it won't appear in search results but anyone with the link can watch.
  2. Copy the video URLStandard URL: https://www.youtube.com/watch?v=VIDEOID or the share URL https://youtu.be/VIDEOID. Both work.
  3. Paste it in the chapter URL fieldSet chapter type to Video. The player converts the URL to an embed automatically.

Google Drive

  1. Upload video to Google DriveRight-click the file → Share → Change to "Anyone with the link".
  2. Copy the sharing linkFormat: https://drive.google.com/file/d/FILE_ID/view
  3. Paste in chapter URL fieldSet type to Video. The player detects Google Drive links and adjusts the embed.

📄 Adding Files (PDF, DOCX, PPTX, Audio, Image)

Option 1 — Upload to the server

  1. Use the file upload endpointPOST to api/upload.php with your admin key. Returns a public URL for the uploaded file.
  2. Copy the returned URLPaste it into the chapter URL field.
  3. Set the chapter typeMatch the file type (PDF, DOCX, PPTX, Audio, Image).

Option 2 — Link from Google Drive

  1. Upload the file to Google DriveShare → Anyone with the link → Viewer.
  2. Get the direct download URL For a file with ID FILE_ID, the direct URL is:
    https://drive.google.com/uc?export=download&id=FILE_ID
  3. Paste into chapter URL fieldSet the correct type. PDF and DOCX will render inline. PPTX uses Office Online viewer and needs a publicly accessible URL.

File size limits

FormatMax size
PDF25 MB
DOCX10 MB
PPTX50 MB
Audio (MP3, WAV)15 MB
Image5 MB
HTML / Markdown / TXT1 MB

Frequently Asked Questions

A student says they can't log in — what do I check?

  • Is their status set to Active? Pending and Suspended students cannot log in.
  • Is the email in their student record exactly the same (including capitalisation) as the one they're entering?
  • Is the OTP email going to their spam folder?
  • Has the OTP expired (valid for 10 minutes only)? Ask them to request a new code.

A student says their progress is gone after clearing their browser

Progress is saved to the server — it should survive any browser action. Ask them to log in again. If progress is truly lost, it was likely from before the Phase 2 migration. Progress going forward is fully server-backed.

Course content isn't showing in the course player

  • Check that modules and chapters have been created in Course Content for that program.
  • Check that the student is enrolled in the correct course (matches the courseIds on their student record).
  • If you just added content, the student may need to refresh their browser to pull the latest sync.

A PDF or DOCX is not rendering — just a blank area

  • Check that the URL is publicly accessible (try opening it in an incognito browser window).
  • For Google Drive files, make sure sharing is set to "Anyone with the link".
  • A download button should still appear even if the preview fails.

PPTX is not loading

Microsoft Office Online viewer requires the file URL to be publicly accessible on the open internet — it cannot access files on private networks or Google Drive files that require sign-in. Use a direct download URL or host the file on the server.

How do I change a student's enrolled courses?

Go to Students → edit the student → update the Course(s) field. The change takes effect on their next login.

Can two students share the same email?

No. Each email address is unique in the system. If a student registers with a different email by mistake, create a new record with the correct email and delete the duplicate.

🔧 Troubleshooting

ProblemLikely causeFix
Admin panel shows no students / courses Browser localStorage cleared; page loaded before server sync completed Hard refresh (Ctrl+Shift+R). If data still missing, check server sync by visiting api/sync.php in the browser.
OTP emails not sending SMTP credentials incorrect or email quota exceeded Check SMTP_PASS and SMTP_USER in api/config.php on the server. Verify in cPanel → Email Accounts.
Student sees "Account not yet active" Student status is Pending or Suspended Admin → Students → edit student → set Status to Active → Save.
Video not playing (blank iframe) Video is Private on YouTube, or Google Drive sharing is restricted Set YouTube video to Public or Unlisted. Set Drive file to "Anyone with the link".
PDF renders blurry on retina screens Browser zoom is above 100% Set browser zoom to 100% (Ctrl+0). PDF rendering is retina-aware at 100% zoom.
Admin panel password forgotten In Namecheap cPanel → phpMyAdmin → lms_store table → find ath_admin_pass row → edit the value to a new password.
Backup cron not running BACKUP_KEY not set, or cron command incorrect Verify BACKUP_KEY in api/config.php, then test manually by visiting api/backup.php?key=YOUR_KEY.
A Transform Hub LMS — Platform Training Guide
Last updated: June 2026 · For support contact info@atransformhub.com