College
User Manual
1. Getting Started
Welcome to the College E-Learning. This manual covers all features available to every user role: Admin ETO Tutor Student. Please read this section before proceeding to your role-specific guide.
1.1 System Requirements
Web Admin (All Roles)
| Requirement | Minimum | Recommended |
|---|---|---|
| Browser | Chrome 90+, Firefox 90+, Safari 15+, Edge 90+ | Latest version of any modern browser |
| Screen Resolution | 1024 x 768 | 1280 x 800 or higher |
| Internet | 1 Mbps | 5 Mbps or higher |
| JavaScript | Enabled | Enabled |
| Cookies | Enabled | Enabled |
Mobile App (Students)
| Requirement | Android | iOS |
|---|---|---|
| OS Version | Android 8.0 (Oreo) or higher | iOS 14.0 or higher |
| RAM | 2 GB minimum | 2 GB minimum |
| Storage | 100 MB free space | 100 MB free space |
| Internet | 3G / Wi-Fi | 3G / Wi-Fi |
| Camera (optional) | For chatbot image upload | For chatbot image upload |
Executive Dashboard
| Requirement | Details |
|---|---|
| Platform | Desktop (Windows, macOS, Linux), Tablet, or Mobile |
| App Type | Flutter application (installable or web-based) |
| Internet | Required for data refresh |
1.2 Accessing the Platform
| Application | URL / Access | Users |
|---|---|---|
| Web Admin | https://app.saltcollegeandresourcecentre.com | Admin, ETO, Tutor, Student |
| Mobile App | Google Play Store / Apple App Store | Student |
| Executive Dashboard | Desktop/tablet application | Leadership / Admin |
| Backend API | https://app.saltcollegeandresourcecentre.com/SaltELearnAppApi | System (internal) |
Access the web admin at https://app.saltcollegeandresourcecentre.com. For staging/testing, use https://stagging.saltcollegeandresourcecentre.com.
1.2.1 Day/Night Mode (Dark Theme)
All applications support day and night mode (light and dark themes). This is available on:
- Mobile App — Toggle via the theme switch in your profile or settings screen. Your preference is saved and persists across app restarts.
- Executive Dashboard — Toggle via the theme icon in the app. Charts and graphs automatically adapt to the dark theme.
- Web Admin — Toggle via the theme switch in the navigation bar. All pages, tables, forms, and modals adapt to the selected theme.
Dark mode reduces eye strain in low-light environments and may help conserve battery on mobile devices with OLED screens. The Salvation Army branding colors (red and navy) are preserved in both themes.
1.3 Login Flow
The platform uses a secure, multi-step authentication process. All user roles follow the same login flow.
Step-by-Step Login (Web Admin)
-
Open the Login Page
Navigate to the Web Admin URL in your browser. You will see the College login page with a username and password form. -
Enter Your Credentials
- Admin / ETO / Tutor: Enter the username provided by the system administrator.
- Student: Enter your registration number (admission number) as the username.
-
Verify Access Code (OTP)
After successful credential validation, the system sends an access code to your registered phone number or email address. A blue info banner will confirm delivery. Enter the access code in the verification field and click Verify Access Code.TipIf you do not receive the access code, click Resend Access Code to request a new one. Check your spam/junk folder for email codes.
-
Change Password (If Required)
If this is your first login, or if an administrator has reset your password, you will be prompted to change your password before continuing. Enter your current password, then create a new password that meets the requirements (see below). Confirm the new password and click Change Password. -
Dashboard Redirect
Upon successful authentication, you will be automatically redirected to your role-specific dashboard:- Admin → Admin Dashboard
- ETO → ETO Dashboard
- Tutor → Tutor Dashboard
- Student → Student Dashboard
1.4 Password Requirements
When setting or changing your password, the following requirements must be met:
| Requirement | Details |
|---|---|
| Minimum length | 8 characters |
| Must contain | At least 1 letter (a-z or A-Z) |
| Must contain | At least 1 number (0-9) |
| Must contain | At least 1 special character (e.g., !@#$%^&*) |
| Cannot be | Same as the previous password |
Never share your password with anyone. College staff will never ask for your password. Use a unique password that you do not use for other services.
Forgot Password
- Click Forgot Password? on the login page.
- Enter the email address associated with your account.
- A temporary password will be sent to your email.
- Log in with the temporary password. You will be prompted to change it immediately.
1.5 Logging Out & Session Timeout
Logging Out
To log out, click your profile name or avatar in the top-right corner of the web admin, then select Sign Out. On the mobile app, navigate to the profile screen and tap Logout. Always log out when using shared or public computers.
Session Timeout
For security purposes, your session will automatically expire after a period of inactivity. The timeout duration is configured by the system administrator in System Settings. When your session expires:
- You will be redirected to the login page.
- Any unsaved work (e.g., in-progress exam answers, form entries) may be lost.
- You will need to log in again with the full credentials and OTP flow.
Save your work frequently, especially during exams and assignment uploads. If you step away from your computer, consider logging out and resuming later.
2. Admin Guide Admin
The Admin role has the highest access level in the platform. Admins manage all users, students, subjects, grading, billing, system settings, and more. This section covers every feature available to administrators.
2.1 Dashboard
After logging in, Admins are presented with the Admin Dashboard providing an at-a-glance overview of platform operations.
Dashboard Stat Cards
| Card | Description |
|---|---|
| Total Students | Total number of student records in the system |
| Pending Approvals | Students awaiting admin approval |
| Active Subjects | Number of currently active subjects/courses |
| Suspended Students | Students with active suspensions |
| Active Sessions | Number of active academic sessions |
| Total Billing | Aggregate billing amount across all students |
Quick Actions
The Quick Actions panel provides one-click navigation to the most commonly used admin functions: Manage Students, Grading Config, Billing, and Reports.
2.2 User Management
Navigate to Users from the admin sidebar to manage all system users.
Viewing Users
The Users page displays all system users (Admins, ETOs, Tutors, and Students) in a searchable, paginated table. Use the search bar to filter by name, username, or email.
Creating a New User
- Click the Add User button at the top of the Users page.
- Fill in the required fields: first name, surname, last name, email, phone contact, and username.
- Select the user's Role (Admin, ETO, Tutor, or Student).
- Assign the user to a Territory.
- Set an initial password (the user will be required to change it on first login).
- Click Save to create the user.
Editing a User
Click on any user row to open their profile. Modify fields as needed and click Save Changes. You can update the user's name, email, contact, role, and territory.
Resetting a User's Password
From the user profile, click Reset Password. A temporary password will be sent to the user's registered email. The user will be required to change their password upon next login.
User Roles & Access Levels
| Role | Access Level | Description |
|---|---|---|
| Admin | 5 (highest) | Full platform management, all features accessible |
| Tutor | 8 | Subject teaching, exam creation, assignment marking |
| ETO | 9 | Education Training Officer, territory-level oversight |
| Student | 12 (lowest) | Learning, taking exams, submitting assignments |
A lower access level number indicates higher authority.
2.3 Student Management
Navigate to Students from the admin sidebar. This page lists all student records with their admission number, name, email, contact, territory, academic level, admission status, and application date.
Searching for Students
Use the search bar at the top of the table to search by:
- Student name (first, middle, or last)
- Admission number
- Email address
- Phone number
Student Approval Flow
New student registrations go through a two-tier approval process:
Approving Students (Admin)
- Navigate to Students and filter for students with status
EP(ETO Passed). - Click on a student row to view their full biodata, including personal information and any previous academic performance.
- Review the student's details for accuracy and completeness.
- Click Approve to change the status to
P(Approved), or click Reject to change the status toAR(Admin Rejected). - If rejecting, provide a reason in the comments field.
Admins can also approve students directly from status N (New) to P (Approved) without waiting for ETO review, if the student's territory does not have an assigned ETO.
2.4 Subject & Curriculum Management
Navigate to Subjects to create and manage the full curriculum offered by the College. This section covers learning levels, subject configuration, level progression rules, and tutor-subject assignments.
2.4.1 Learning Levels
The College organises its curriculum into three progressive learning levels:
| Level | Level Index | Description |
|---|---|---|
| Foundation | 1 | Introductory theological studies. Only available to Soldiers (Salvation Army members). |
| Certificate | 2 | Core theological training. Available to both Soldiers (after completing Foundation) and Non-Soldiers (entry point). |
| Diploma | 3 | Advanced theological studies. Available after completing Certificate level. |
- Soldiers (Salvation Army members): Foundation → Certificate → Diploma
- Non-Soldiers: Certificate → Diploma (skip Foundation)
A student must pass all subjects in their current level before they can apply for the next level. The system enforces this automatically when a student or tutor initiates a level upgrade.
To view or manage learning levels, navigate to Subjects → Learning Levels. The levels are pre-configured and typically do not need modification. Each level displays:
- Level name and index (display order)
- Number of subjects assigned to that level
- Number of students currently enrolled at that level
2.4.2 Viewing & Filtering Subjects
The Subjects page displays all subjects in a searchable, filterable table with the following columns:
| Column | Description |
|---|---|
| Subject Code | Unique identifier following the naming convention (e.g., FPNT01) |
| Subject Name | Full name of the subject (e.g., "Pastoral New Testament 01") |
| Learning Level | Foundation, Certificate, or Diploma |
| Language | English, French, Kiswahili, or Portuguese |
| Subject Cost | Enrollment fee for this subject |
| Status | Active or Inactive |
| Enrolled Students | Number of students currently taking this subject |
Use the Filter by Level dropdown to show only Foundation, Certificate, or Diploma subjects. Use the search bar to find subjects by name or code.
2.4.3 Creating a Subject
- Click Add Subject.
- Enter the Subject Name (e.g., "Pastoral New Testament 01").
- Enter the Subject Code following the naming convention:
Component Values Example Level Prefix F= Foundation,C= Certificate,D= DiplomaFLanguage K= Kiswahili,F= French,P= Portuguese, (blank) = EnglishPAbbreviation Short form of subject area (e.g., NT = New Testament, OT = Old Testament) NTNumber Sequential number within that group 01Full example:
FPNT01= Foundation, Portuguese, New Testament, Subject 01Other examples:
CF104(Certificate, French, 104),CKOT101(Certificate, Kiswahili, Old Testament, 101),DD206(Diploma, English, 206) - Select the Learning Level (Foundation, Certificate, or Diploma).
- Select the Language the subject will be taught in.
- Set the Subject Cost (the fee charged to students for enrollment in this subject).
- Click Save.
The Subject Code cannot be changed after creation, as it is referenced throughout the system (enrollments, transcripts, certificates, reports). Double-check the code before saving.
2.4.4 Editing a Subject
Click on a subject row to open the edit form. You can modify:
- Subject Name — update the display name
- Subject Cost — adjust the enrollment fee (does not retroactively affect existing billing records)
- Learning Level — reassign to a different level (use with caution if students are already enrolled)
- Status — set to Inactive to hide from new enrollments (existing enrollments are not affected)
2.4.5 Assigning Tutors to Subjects
Each subject must have at least one tutor assigned to handle teaching, assignment marking, and exam creation. Tutor-subject assignments are managed when approving student subject selections or through the Users page.
- Navigate to Users and find the tutor by name or email.
- Click on the tutor row to open their profile.
- In the Assigned Subjects section, click Add Subject.
- Select one or more subjects from the dropdown (filtered by learning level).
- Click Save Assignments.
Alternatively, during the student approval process (Section 2.3), the admin assigns a tutor to each of the student's selected subjects. This creates the tutor-subject link if it does not already exist.
2.4.6 Student Subject Selection & Approval
When a student is approved (status P), their selected subjects go through an approval workflow:
- The student selects subjects for their current learning level during enrollment.
- During admin approval, the admin reviews the selected subjects.
- For each subject, the admin assigns a tutor from the available tutors for that subject.
- The admin can approve all subjects, approve selectively, or reject specific subjects with remarks.
- Once approved, the student can access materials, submit assignments, and take exams for those subjects.
Subject selection statuses:
| Status | Code | Description |
|---|---|---|
| Applied | A | Student has applied for this subject |
| Pending | P | Awaiting tutor/admin review |
| Enrolled | E | Approved and actively enrolled |
| New | N | Newly selected, not yet processed |
| Rejected | R | Subject selection was rejected |
| Done | D | Subject completed (passed or failed) |
2.4.7 Managing Level Progression
When a student completes all subjects in their current learning level, they (or a tutor) can request a level upgrade:
- The student or tutor initiates a New Academic Level request.
- The system verifies that all subjects in the current level have been completed with a passing grade.
- If the student is a Soldier completing Foundation, they advance to Certificate. If completing Certificate, they advance to Diploma.
- If the student is a Non-Soldier completing Certificate, they advance to Diploma.
- A new academic level record is created, and the student can begin selecting subjects for the new level.
Each subject enrollment has a 1-year completion deadline. If a student does not complete a subject within one year of enrollment, the subject is automatically suspended. See Section 2.7: Suspension Management for details on how to lift suspensions.
2.5 Grading Configuration
Navigate to Grading to configure grade thresholds used to calculate final student grades across all subjects.
Default Grade Thresholds
| Grade | Min Score | Max Score | Result |
|---|---|---|---|
| High Distinction | 85.00 | 100.00 | Pass |
| Distinction | 75.00 | 84.99 | Pass |
| Credit | 65.00 | 74.99 | Pass |
| Merit | 55.00 | 64.99 | Pass |
| Pass | 50.00 | 54.99 | Pass |
| Fail | 0.00 | 49.99 | Fail |
Editing Grade Thresholds
- Click Edit Configuration.
- Modify the grade name, minimum score, maximum score, or display order for any row.
- Click Save Changes to apply, or Cancel to discard changes.
Changing grade thresholds affects how all future grades are calculated. Ensure score ranges do not overlap and cover the full 0-100 range. Existing grades that have already been calculated will not be retroactively changed.
Assignment & Exam Weight Configuration
The final grade for each subject is calculated as a weighted combination of assignment and exam scores. These weights are configured in System Settings (see Section 2.11).
For example, if assignment weight is 40% and exam weight is 60%:
Final Score = (Assignment Average x 0.40) + (Exam Score x 0.60)
2.6 Billing
Navigate to Billing to view and manage financial records for student enrollments.
Viewing Billing Records
The billing page displays a table of all billing entries, including student name, subject, amount, billing date, and payment status. Use the search and filter options to narrow results.
Generating Billing
- Select the student or group of students for billing.
- Review the enrolled subjects and their associated costs.
- Click Generate Billing to create billing records.
Exporting to Excel
Click the Export to Excel button to download billing data as an Excel (.xlsx) file for offline review or integration with financial systems.
2.7 Suspension Management
Navigate to Suspensions to view and manage student suspensions.
Viewing Suspended Students
The page lists all students with active suspensions, including the reason for suspension, date, and the ETO or admin who initiated it.
Lifting a Suspension
- Click on a suspended student record.
- Review the suspension details and reason.
- Enter a comment explaining why the suspension is being lifted.
- Click Lift Suspension to reinstate the student.
Declining a Suspension Request
If an ETO has requested a suspension that you disagree with, enter a comment and click Decline to reject the suspension request.
2.8 Intake Configuration
Navigate to Intake to define enrollment intake periods and control registration behavior. The current intake operates on a monthly basis, allowing admin to configure which months and dates the intake takes place for students to apply.
Setting Intake Periods
- Click Add Intake Period.
- Select the intake month (January through December).
- Set the start date and end date within that month.
- Optionally set the year (leave empty for a recurring annual intake; set a specific year for one-time intakes).
- Select the behavior when a student attempts to register outside an intake period:
- BLOCK: Registration is completely prevented outside intake periods.
- WARNING: A warning is displayed, but registration is still allowed.
- Click Save to apply the configuration.
All configured intake periods are visible to students when they wish to enroll for studies. Students see the available intake months, start dates, and end dates, allowing them to plan their enrollment for any open intake period within the year.
2.9 Sessions Management
Navigate to Sessions to create and manage Salvation Army sessions. Sessions are displayed as a searchable dropdown on the student registration form, organized alphabetically.
Creating a Session
- Click Add Session.
- Enter the session name.
- Click Save.
Pre-configured Sessions
The following sessions are included by default (additional sessions can be added at any time):
- A1 Out
- Ambassadors of Christ
- Ambassadors of Grace
- Ambassadors of Holiness
- Aux-Captains/Lieutenants
On the student registration form, the Sessions field appears as a dropdown with a search option. Students can type to search and filter sessions. Sessions are listed in alphabetical order for easy navigation.
Admin can edit or deactivate sessions at any time. Deactivated sessions are hidden from registration forms but preserved in historical student records.
2.10 Achievements
Navigate to Achievements to add and view student achievements, recognitions, or awards.
Adding an Achievement
- Click Add Achievement.
- Select the student from the dropdown.
- Enter a description of the achievement (free text, e.g., "Best Overall Student - 2025 Session 2").
- Click Save.
2.11 Certificates & Transcripts
Navigate to Certificates to generate, view, and manage student certificates and transcripts.
Generating a Certificate
- Search for the student by name or admission number.
- Select the learning level (Foundation, Certificate, or Diploma) for which the certificate should be generated.
- Review the student's grades and completion status.
- Click Generate Certificate.
- The system generates a PDF certificate that includes:
- Student name and admission number
- Learning level and completion date
- College branding and official signature
- A QR code for verification
Generating a Transcript
Transcripts list all subjects completed by the student along with their grades. Follow the same process as certificate generation, but select Generate Transcript instead.
QR Code Verification
Each certificate includes a QR code that, when scanned, links to a verification page confirming the certificate's authenticity. This allows employers, churches, and other institutions to verify certificates issued by the College.
2.12 System Settings
Navigate to Settings to configure platform-wide parameters. These settings are stored centrally and affect all users.
| Setting | Description |
|---|---|
| Token Expiry | Duration (in minutes) before a JWT token expires and the user must re-authenticate |
| Password Rules | Minimum length, complexity requirements, expiry period |
| OTP Settings | OTP expiry duration, delivery method (SMS, email, or both) |
| Notification Channels | Enable/disable SMS, email, and push notification channels |
| Assignment Limits | Maximum number of assignment submissions per student per subject per month (default: 3) |
| Grading Weights | Assignment weight percentage and exam weight percentage (must total 100%) |
| Idle Timeout | Minutes of inactivity before session expires |
| FCM Push Key | Firebase Cloud Messaging key for mobile push notifications |
| Email Configuration | SMTP server settings for outgoing emails |
Changes to System Settings take effect immediately for all users. Incorrect settings (e.g., setting token expiry too low) can lock users out. Always review changes carefully before saving.
2.13 Announcements
Navigate to Announcements to create and manage system-wide announcements visible to all users.
Creating an Announcement
- Click New Announcement.
- Enter the announcement title and body text.
- Optionally set the target audience (all users, specific roles, or specific territories).
- Click Publish.
Announcements appear on user dashboards and can also trigger SMS or email notifications depending on System Settings.
2.14 Schema Management
Navigate to Schema for database maintenance tools. This is an advanced feature intended for system administrators.
Available Operations
| Operation | Description |
|---|---|
| Run Integrity Check | Scans the database for data inconsistencies, orphaned records, and constraint violations |
| Fix Duplicates | Identifies and resolves duplicate student records, user records, or enrollment entries |
| Export Students | Download all student data as a backup file |
| Export Users | Download all user data as a backup file |
| Export Enrollments | Download all enrollment/subject selection data |
| Full Backup | Download a complete data backup of all tables |
Schema management operations can affect production data. Only use these tools if you understand their impact. Run integrity checks in off-peak hours to minimize system load.
2.15 Reports
Navigate to Reports to generate analytical reports across the platform.
Available Reports
| Report | Description |
|---|---|
| Enrollment Trends | Student enrollment numbers over time, by territory, level, and session |
| Assignment Analytics | Submission rates, marking turnaround, average scores by subject |
| Exam Performance | Exam scores by subject, pass/fail rates, score distribution |
| Territory Breakdown | Student counts, performance, and activity metrics per territory |
| Student Tallying | Cumulative total of all students, broken down by new vs continuing students per territory. Accessible by ETO (own territory) and Admin (all territories). |
| Marking Progress | Assignment and exam marking status by subject and tutor: total submissions, marked count, pending count. Visible to Admin, Tutor, and Student. |
2.16 Search Optimization
The search functionality for Admin and ETO has been optimized to allow searching using the three unique student identifiers:
| Search Field | Description | Example |
|---|---|---|
| Email Address | Student's registered email (case-insensitive, trimmed) | esthermwangale@gmail.com |
| Registration Number | Student's admission number (supports all formats) | 2024053, 2018333 |
| Phone Number | Student's contact number (via user record) | +254712345678 |
These are the only three unique identifiers for each student. Enter any of these in the search field to locate a specific student instantly.
2.17 Tutor Reallocation
Admin can reallocate a student to a different tutor on a need basis (e.g., tutor unavailability, workload balancing, or territory changes).
- Navigate to the student's subject enrollment record.
- Click Reallocate Tutor.
- Select the new tutor from the dropdown of available tutors for that subject.
- Confirm the reallocation.
All student progress (submitted assignments, marks, exam scores) is fully preserved during tutor reallocation. The new tutor gains complete visibility into the student's prior work and grades. The reallocation is logged for audit purposes.
Tutor reallocation is restricted to Admin users. ETOs and Tutors cannot perform this operation.
3. ETO (Education Training Officer) Guide ETO
Education Training Officers (ETOs) serve as territory-level overseers. Each ETO is assigned to a specific territory (country/region) and is responsible for managing student registrations, approvals, and academic oversight within that territory.
3.1 Dashboard
The ETO Dashboard shows territory-specific statistics:
| Card | Description |
|---|---|
| Pending Approvals | Students in your territory awaiting your review |
| Territory Students | Total students assigned to your territory |
| New Enrollments | Recent enrollment requests in your territory |
| Active Exams | Currently scheduled exams for territory subjects |
3.2 Student Approvals
Navigate to Approvals from the sidebar. This page lists students in your territory who need your review. The approval queue displays three categories of students:
- New Students — first-time enrollees registering for the first time
- Continuing Students (Registered) — returning students who are already in the system with an existing registration number
- Continuing Students (Unregistered) — returning students who are not yet registered in the system
Each category is clearly identifiable and filterable in the approval list.
Step 1: Download Student List (Required)
Before performing any approvals, you must first download the student list for your territory:
- Click Download Student List at the top of the Approvals page.
- The system generates an Excel file containing all pending students in your territory.
- You can filter the download by entry type:
- New Students (N) — first-time enrollees
- Continuing Students (C) — re-enrolling for the next academic level
- All — both new and continuing
- The Excel file includes: admission number, full name, email, phone, entry type, territory, registration date, and current status.
- Review this list offline to prepare for your approval decisions.
Step 2: Review Student Biodata & Performance
Click on any student record in the approval queue to view their complete review screen, which includes:
| Section | Details Shown |
|---|---|
| Personal Biodata | Full name, email, phone number, date of birth, gender, marital status, country, territory, rank (Soldier/Non-Soldier), registration channel (Web/Mobile), self-registration date, preferred language |
| Identification | National ID or Passport number, identification type |
| Enrollment Details | Admission number, entry type (New/Continuing), entry month & year, current academic level, selected subjects with costs |
| Previous Academic Performance | Previously completed subjects with grades, assignment scores, exam scores, total marks, pass/fail status (for continuing students) |
| Approval History | Previous ETO remarks, previous Admin remarks, approval dates, rejection history (if re-registering after ER/AR) |
For continuing students (entry type C), always review their previous academic performance before approving. This helps identify students who may have had academic difficulties or incomplete subjects in their prior level.
Step 3: Tracking Application Progress
ETOs have full visibility into the student application process. Each student record shows their current status and complete status history:
| Status | Code | Meaning |
|---|---|---|
| Uploaded | U | Student record was bulk-uploaded from previous system data |
| New / Pending ETO | N | Student has completed registration and is awaiting ETO review |
| ETO Passed | EP | You (ETO) approved this student; now awaiting Admin final approval |
| Admin Approved | P | Fully approved — student can access the platform |
| ETO Rejected | ER | You rejected this student — student can re-register |
| Admin Rejected | AR | Admin rejected after your approval — student can re-register |
The status history field (visible in the student detail screen) shows a full audit trail of every status change with timestamps and the officer who performed each action.
Step 4: Approve or Reject
- After reviewing the student's biodata and performance, make your decision.
- Click Approve to change their status to
EP(ETO Passed), which forwards them to Admin for final approval. - Click Reject to change their status to
ER(ETO Rejected). You must provide a reason in the comments field.
Your approval (ETO) is the first tier. After you approve, the student's status becomes EP and they must still receive Admin approval before they can fully access the platform.
If you reject a student (ER), they are notified of the rejection with your remarks. The student can then re-register and start the enrollment process again from the beginning. Their previous record is preserved for audit purposes.
Continuing Student Registration Numbers
For continuing students, the system automatically captures the registration number entered by the student during enrollment. The system does not default to "NA" for continuing students. This ensures ETO and Admin see the correct registration number during approval, avoiding rejection and repetition of the process — especially important when handling large volumes of students.
Re-uploading Previous Performance Records
Some continuing students may have missing subjects in their previous performance records, even though these were uploaded as part of their prior enrollment. The system allows Admin to re-upload previous performance records even after a continuing student has been approved at both ETO and Admin levels. This ensures:
- Missing subjects from previous performance can be added post-approval
- Previously uploaded data is preserved (only additions, no deletions)
- The student's complete academic history is accurately reflected
3.3 Student Management
Navigate to Students to view all students within your assigned territory. You can search by email, admission number, or phone number.
This view is scoped to your territory only. You cannot view or manage students from other territories. The student list shows current admission status, allowing you to track each application's progress through all registration stages.
3.4 Enrollment Initiation
Navigate to Enrollment to initiate enrollment for students in your territory.
Initiating Enrollment
- Select the student from your territory list.
- Choose the learning level and subjects for enrollment.
- Submit the enrollment request.
When an ETO initiates enrollment, the student is automatically approved at the ETO level (status EP), bypassing the normal ETO approval step. The student still requires Admin approval.
3.5 Reports
Navigate to Reports to download territory-specific reports.
Available Downloads
- New Student List: All newly registered students in your territory
- Continuing Student List: Students continuing from previous sessions
- Unregistered Student List: Students who have not yet registered for the current session
- Assignment Downloads: Assignment submissions from your territory's students
- Exam Data: Exam results and performance data for your territory
4. Tutor Guide Tutor
Tutors are subject matter experts responsible for teaching, creating exams, marking assignments, and uploading learning materials. Each tutor is assigned to one or more subjects.
4.1 Dashboard
| Card | Description |
|---|---|
| Pending Assignments | Number of student assignments awaiting your marking |
| Active Exams | Number of exams you have created that are currently active |
| My Students | Total students enrolled in your assigned subjects |
| Materials Uploaded | Number of reading materials you have uploaded |
4.2 Assignment Marking
Navigate to Assignments to view and mark student assignment submissions.
Marking an Assignment
- The Assignments page shows a list of submitted assignments grouped by subject. Submissions with status "Pending" need your attention.
- Click on a submission to download and review the student's uploaded file.
- Enter the score (numeric value).
- Enter any remarks or feedback for the student.
- Click Submit Mark to save the grade.
N = New (just submitted), R = Under Review, T = Returned to student (needs revision), P = Passed/Marked. Students can view their score and remarks once marked.
Marking Progress Tracking
During the marking process, the tutor has full visibility and tracking of marking progress from beginning to completion:
- Total Submissions: Number of assignments submitted by students for each subject
- Marked Count: Number of assignments already marked (status T or P)
- Pending Count: Number of assignments still awaiting marking (status N)
- Progress Percentage: Visual indicator of how much marking is complete
Admin also has visibility into marking progress across all subjects and all tutors, and students can see the marking status of their individual submissions.
Comments as Marking Scheme (Archived)
All comments and remarks made by the tutor when marking assignments and exams are treated as the marking scheme. These comments are:
- Permanently archived alongside the submission
- Accessible to the student, the tutor, and the admin
- Downloadable as part of the assignment or exam record
This ensures transparency in the marking process and provides a permanent record of feedback for all stakeholders.
4.3 Exam Paper Management
Navigate to Exams to create and manage exam papers for your assigned subjects.
Creating an Exam Paper
- Click Create Exam Paper.
- Select the subject from your assigned subjects.
- Enter the exam paper title (e.g., "Foundation Pastoral Care - Final Exam 2026").
- Set the exam duration (in minutes).
- Choose the exam type:
- Online MCQ: Multiple-choice questions answered directly in the platform.
- Downloadable: A PDF exam paper that students download, complete offline, and upload answers before a deadline.
- Click Save to create the paper.
Adding MCQ Questions
- Open an existing exam paper.
- Click Add Question.
- Enter the question text.
- Enter 4 answer options (A, B, C, D).
- Select the correct answer.
- Optionally set the point value for the question.
- Click Save Question. Repeat for all questions.
Uploading a Downloadable Exam
- Open the exam paper and enable the Downloadable option.
- Upload the exam PDF file.
- Set the deadline (date and time) by which students must upload their answers.
- Click Save.
Scheduling Exam Dates
- Open the exam paper.
- Click Schedule Exam.
- Set the exam date, start time, and end time.
- Click Confirm Schedule.
Students will see scheduled exams on their dashboard and in their Exams section.
Quiz Auto-Population
Once a quiz is set by the tutor, it is automatically populated and accessible to all students enrolled in that subject. Students do not need to apply or be approved to take the quiz — it becomes available immediately upon creation.
4.4 Student List
Navigate to Students to view all students enrolled in your assigned subjects. This helps you track enrollment and identify students who may need additional support.
4.5 Material Upload
Navigate to Materials to upload reading materials for your subjects.
Uploading a Material
- Click Upload Material.
- Select the subject from your assigned subjects.
- Enter a descriptive title for the material.
- Select the file to upload (PDF, DOCX, or other supported formats). Maximum file size: 100 MB.
- Click Upload.
Once uploaded, the material becomes available to all students enrolled in that subject.
Reusing Materials Across Intakes
Admin can reuse existing reading materials or assignments for new intake periods:
- Navigate to the material or assignment to reuse.
- Click Reuse Material.
- Select one or more intake periods (months) within the year for which the material should be reused.
- Confirm the reuse.
Material reuse operates on a monthly basis, allowing admin to select multiple intakes in a year. This avoids re-uploading the same content and ensures consistency across intake periods.
4.6 Oral Exam Score Entry
Students who fail an assignment or exam on their first attempt are allowed to retake up to three times. After three failed attempts, the student can no longer access online assignments and exams for that subject. Instead, the student takes an oral assignment and exam, and the scores are entered manually.
Entering Oral Scores
- Navigate to the oral exam score entry page.
- Select the student who has exhausted their 3 retake attempts.
- Enter the oral assignment score and/or oral exam score.
- Click Save Score.
Oral scores are factored into the student's final grade calculation alongside any previous scores. The grading formula treats oral scores the same as written/MCQ components.
Attempt 1-3: Student has full online access to assignments and exams for the subject. Each failed attempt increments the retake counter.
After 3rd failure: Online access to assignments and exams for that subject is revoked. Tutor/Admin enters oral assignment and exam scores manually.
5. Student Guide (Web) Student
This section covers features available to students using the Web Admin interface at http://<server>:3000. Students can also use the mobile app (see Section 6).
5.1 Dashboard
Your student dashboard is your home base. It shows:
- Enrolled Subjects: How many subjects you are currently enrolled in.
- Pending Assignments: Assignments that need your attention (not yet submitted or returned for revision).
- Upcoming Exams: Exams scheduled within the next 30 days.
- Average Score: Your overall average score across all subjects.
The Upcoming Deadlines panel shows your nearest deadlines (assignment due dates, exam dates). The Quick Actions panel provides one-click access to key sections.
5.2 My Subjects
Navigate to My Subjects to see all subjects you are enrolled in, organized by academic level (Foundation, Certificate, or Diploma).
Each subject entry shows:
- Subject code and name
- Learning level
- Enrollment status (Active, Completed, Pending)
- Links to assignments, exams, and materials for that subject
5.3 Assignments
Navigate to Assignments to view assigned work and submit your completed assignments.
Uploading an Assignment
- Select the Subject from the dropdown menu.
- Click Choose File and select your completed assignment file.
- Supported formats: PDF, DOCX, DOC, XLSX, PPTX, and other common document formats.
- Click Upload.
You may submit a maximum of 3 assignments per subject per month. This limit is configured by the administrator. Plan your submissions accordingly. Maximum file size is 100 MB.
Viewing Results
Once a tutor marks your assignment, the status changes from "Pending" to "Marked." You can view your score and any remarks/feedback provided by the tutor in the Submitted Assignments table.
5.4 Exams
Navigate to Exams to view available exams, take online exams, and download exam papers.
Taking an Online Exam (MCQ)
- Open the Exams page. Available exams for your enrolled subjects are listed with their scheduled dates.
- Click Start Exam when the exam is available (during the scheduled window).
- Read each question carefully. Select your answer from the multiple-choice options (A, B, C, D).
- Use the question navigation panel to move between questions. You can skip and return to questions.
- When finished, click Submit Exam.
Online exams have a time limit. The timer is displayed at the top of the exam screen. When time expires, your exam is automatically submitted with whatever answers you have selected. There is no way to extend the timer.
Downloadable Exams
- If an exam is marked as "Downloadable," a Download Exam button will appear.
- Click to download the exam paper as a PDF.
- Complete the exam offline (handwritten or typed).
- Upload your answers before the specified deadline using the Upload Answers button.
Downloadable exam answers must be uploaded before the deadline. Late submissions will not be accepted by the system.
Retakes (Up to 3 Attempts)
If you fail an exam or assignment, you may retake it up to three times. After the third failed attempt:
- You will no longer have access to online assignments and exams for that subject.
- You will be required to take an oral exam and oral assignment instead.
- Your tutor or admin will manually enter your oral scores.
- These oral scores will be graded using the same grading formula.
5.5 Performance
Navigate to Performance to view your grades across all subjects.
The performance table shows for each subject:
| Column | Description |
|---|---|
| Subject | Subject code and name |
| Assignment Score | Average score of all marked assignments for this subject |
| Exam Score | Score from the subject examination |
| Total Score | Weighted combination of assignment and exam scores |
| Grade | Letter grade based on total score (e.g., High Distinction, Credit) |
| Status | Pass or Fail |
5.6 Profile
Navigate to Profile to view and update your personal information. Users must have access to update their profiles to allow changes in the future.
Editable Fields
| Field | Editable | Notes |
|---|---|---|
| First Name | Yes | |
| Middle Name | Yes | |
| Last Name | Yes | |
| Email Address | Yes | Must be unique across the system |
| Phone Number | Yes | Must be unique across the system |
| Marital Status | Yes | |
| Session Preference | Yes | Searchable dropdown of sessions |
| Salvation Army Rank | Yes | Dropdown of SA ranks |
| Admission Number | No | Read-only; assigned by system |
| Territory | No | Read-only; set during registration |
| Academic Level | No | Read-only; determined by progression |
Click Save after making changes. The system validates uniqueness of email and phone before saving.
5.7 Chat
Navigate to Chat to send and receive real-time messages with tutors and administrators.
Sending a Message
- Select the recipient (tutor or admin) from the contact list.
- Type your message in the text input at the bottom of the chat window.
- Press Enter or click the Send button to send.
Chat messages are delivered in real-time. You will receive notifications when new messages arrive.
5.8 Chatbot
The chatbot provides automated answers to frequently asked questions. If the chatbot cannot answer your question, you can escalate to human support.
Using the Chatbot
- Open the Chatbot from the student sidebar or dashboard.
- Browse FAQ categories or type your question.
- The chatbot will provide an answer from the knowledge base.
- If the answer is not satisfactory, click Talk to a Human to escalate your query to a live administrator.
6. Student Guide (Mobile App) Student
The College mobile app provides students with on-the-go access to their learning activities. It includes all core student features optimized for mobile devices.
6.1 Installation
Android
- Open the Google Play Store on your Android device.
- Search for "College E-Learning".
- Tap Install.
- Once installed, tap Open to launch the app.
iOS (iPhone/iPad)
- Open the App Store on your iOS device.
- Search for "College E-Learning".
- Tap Get and authenticate with Face ID / Touch ID if prompted.
- Once installed, tap Open to launch the app.
6.2 Registration
New students and continuing students can register directly from the mobile app.
Continuing Student Registration
- Open the app and tap New Student? Register here on the login screen.
- Select Continuing Student.
- Enter your email address.
- Enter your registration number (provided by your ETO or the college).
- Tap Register.
- Check your email for confirmation and login credentials.
New Student Registration
- Open the app and tap New Student? Register here on the login screen.
- Select New Student.
- Enter your email address.
- Tap Register.
- Check your email for further instructions. Your registration will need to be approved by your ETO and then by an Admin before you can fully access the platform.
Tap the help icon (?) in the top-right corner of the registration screen for detailed instructions specific to your student type. If you are a continuing student, verify your registration number with your ETO before registering.
6.3 Login
The mobile app login follows the same secure flow as the web admin:
- Enter your username (registration number) and password.
- Tap Sign In.
- An access code will be sent to your registered phone/email.
- Enter the access code when prompted.
- If required, change your password.
- You will be taken to the Student Dashboard.
Tap Forgot Password? if you need to reset your password. A temporary password will be sent to your email.
6.4 Dashboard
The mobile dashboard provides a compact view of your learning status:
- Enrolled subjects count
- Pending assignments
- Upcoming exams
- Quick navigation cards to all features
6.5 Subjects
View your enrolled subjects organized by learning level. Tap a subject to see its details, reading materials, assignments, and exam schedule.
Subject Selection
If you need to enroll in additional subjects:
- Navigate to the Subjects screen.
- Browse available subjects for your current learning level.
- Tap on a subject to view its details and cost.
- Tap Enroll to request enrollment.
- Your enrollment will go through the approval process.
6.6 Assignments
The Assignments screen shows all your assignments across subjects.
Uploading an Assignment
- Tap the + or Upload button.
- Select the subject.
- Choose the file from your device storage.
- Tap Upload.
Checking Grades
Tap on a submitted assignment to view your score and tutor remarks once it has been marked.
6.7 Exams
The Exams screen lists all available exams for your enrolled subjects.
- Online MCQ exams: Tap Start Exam during the scheduled window. Answer questions and submit before the timer expires.
- Downloadable exams: Tap Download to get the exam paper. Complete it and upload your answers before the deadline.
Ensure you have a stable internet connection before starting an online exam. Keep your phone charged. Avoid switching apps during the exam, as this may cause session issues. If your connection drops, try to reconnect and resume as quickly as possible.
6.8 Performance
View your grades across all subjects, including assignment scores, exam scores, total weighted scores, grades, and pass/fail status. This mirrors the web performance view.
6.9 Chat & Chatbot
Chat
Send real-time messages to tutors and admins. Tap on a contact to open the conversation thread. Type your message and tap Send.
Chatbot
The chatbot is available for quick answers to common questions.
- Open the Chatbot from the navigation menu.
- Browse FAQ categories or type your question.
- View the automated response.
- If needed, tap Talk to a Human to escalate.
- You can attach images (e.g., screenshots of issues) when escalating by tapping the camera/gallery icon.
6.10 Profile
Update your personal information from the Profile screen:
- Name (first, middle, last)
- Email address
- Phone number
- Marital status
- Session preference
- Salvation Army rank
Tap Save after making changes. Tap Logout to sign out of the mobile app.
6.11 Notifications
The mobile app sends push notifications to keep you informed about:
- Approval updates: When your registration or enrollment is approved or rejected
- Assignment notifications: When new assignments are posted or your submission is marked
- Exam reminders: Upcoming exam dates and deadlines
- Announcements: System-wide announcements from administrators
- Chat messages: New messages from tutors or admins
Ensure notifications are enabled for the app in your device settings. On Android, go to Settings > Apps > College E-Learning > Notifications. On iOS, go to Settings > Notifications > College E-Learning.
7. Executive Dashboard Guide
The Executive Dashboard is a dedicated analytics application for College leadership, providing a high-level view of platform performance, enrollment trends, and academic metrics across all territories.
7.1 Public View (No Login Required)
The Executive Dashboard can display a public overview without authentication, showing general platform statistics:
- Total Students: Overall student count across all territories
- New Registrations: Recently registered students
- Approved Students: Students who have completed the approval process
- Active Enrollments: Current active subject enrollments
- Enrollment Trends: A chart showing enrollment numbers over time
7.2 Authenticated View
When accessed with admin credentials, the dashboard shows additional detail:
- Detailed territory-by-territory breakdowns
- Role-scoped reports (filterable by territory, level, session)
- Financial metrics and billing summaries
- Full assignment and exam analytics
7.3 Charts & Metrics
| Chart / Metric | Description |
|---|---|
| Enrollment Trends | Line chart showing student enrollment numbers over time (monthly/quarterly) |
| Approval Status | Pie chart showing distribution of student statuses (Pending, ETO Approved, Admin Approved, Rejected) |
| Assignments Submitted | Total assignment submissions across all subjects |
| Assignments Marked | Number of assignments that have been graded by tutors |
| Total Exams | Total number of exam papers created |
| Average Exam Score | Platform-wide average exam score as a percentage |
| Territory Breakdown | Bar chart comparing student counts, enrollments, and performance across territories |
Refreshing Data
Tap the refresh icon in the top-right corner of the dashboard to fetch the latest data from the backend. Data is fetched from the live API, so it reflects real-time platform status.
8. Glossary
| Term / Code | Definition |
|---|---|
| Admission Status Codes |
U = Uploaded (bulk import)N = New / Pending ETO ReviewEP = ETO Passed (approved by ETO, awaiting Admin)ER = ETO RejectedP = Approved (fully approved by Admin)D = Deleted / Rejected (legacy)AR = Admin Rejected
|
| Admission Number | A unique identifier assigned to each student. Formats vary: 7-digit year-based (e.g., 2010314), 4-digit numeric (e.g., 8978), or phone-based (e.g., +254-0004-2024/09). |
| Assignment Status |
N = New (just submitted)R = Under ReviewT = Returned to student (needs revision)P = Passed / Marked
|
| Certificate | A level of study at the College (above Foundation, below Diploma). Also refers to the PDF document generated upon completion. |
| Diploma | The highest level of study offered at the College. |
| Entry Type |
N = New Student (first-time enrollment)C = Continuing Student (returning from a previous session)
|
| ETO | Education Training Officer. A territory-level overseer responsible for student approvals and academic coordination within a specific geographic area. |
| Foundation | The introductory level of study at the College, providing foundational theological education. |
| Learning Level | The academic tier a student is studying at: Foundation, Certificate, or Diploma. Each level has its own set of subjects. |
| MCQ | Multiple Choice Questions. An exam format where students select the correct answer from four options (A, B, C, D). |
| MCP | Must Change Password. A flag indicating the user must change their password upon next login. |
| OTP | One-Time Password, also referred to as "Access Code." A temporary code sent via SMS or email for two-factor authentication during login. |
| Session | An academic period (similar to semester or term) during which students are enrolled and courses are offered. |
| Subject Code | A unique code identifying a subject. Pattern: [Level][Language][Abbreviation][Number]. Examples: FPNT01 (Foundation, Portuguese, New Testament, 01), CF104 (Certificate, French, 104). |
| Suspension | A temporary restriction placed on a student's account, preventing access to exams and assignments until lifted by an administrator. |
| Territory | A geographic region (country or area) used to organize students and assign ETOs. Each territory has a code matching the international phone country code (e.g., +254 for Kenya, +250 for Rwanda). |
| Transcript | An official document listing all subjects completed by a student along with their grades and scores. |
9. Troubleshooting
This section addresses common issues you may encounter while using the College E-Learning.
Cannot Log In
| Possible Cause | Solution |
|---|---|
| Incorrect username or password | Double-check that you are using the correct username. For students, this is your registration/admission number. Passwords are case-sensitive. |
| Account not yet approved | New students must be approved by their ETO and then by an Admin. Check with your ETO about approval status. |
| OTP not received | Wait 1-2 minutes for delivery. Check your spam/junk folder for email OTPs. Ensure your phone number is correct in the system. Click "Resend Access Code" to request a new one. |
| Account locked (brute force protection) | After multiple failed login attempts, your account may be temporarily locked. Wait 15-30 minutes before trying again, or contact your administrator. |
| Session expired | Your previous session timed out. Simply log in again with your credentials. |
Assignment Upload Fails
| Possible Cause | Solution |
|---|---|
| File too large | The maximum file size is 100 MB. Reduce the file size by compressing it or removing unnecessary content. |
| Unsupported file format | Accepted formats include PDF, DOCX, DOC, XLSX, PPTX, and other common document types. Convert your file to a supported format. |
| Monthly submission limit reached | You can submit a maximum of 3 assignments per subject per month. Wait until the next month or contact your administrator if you believe this is an error. |
| Network error | Check your internet connection and try again. On mobile, switch to a Wi-Fi network for larger files. |
Exam Not Visible
| Possible Cause | Solution |
|---|---|
| Not enrolled in the subject | Exams only appear for subjects you are enrolled in. Check your subject enrollment status. |
| Exam not yet scheduled | The tutor may not have scheduled the exam yet. Check with your tutor or ETO. |
| Exam window has passed | If the exam date has passed, the exam will no longer be available. Contact your tutor about retake options. |
| Account suspended | Suspended students cannot access exams. Contact your ETO or administrator. |
Student Not Appearing in ETO List
| Possible Cause | Solution |
|---|---|
| Incorrect territory assignment | The student may be assigned to a different territory. An Admin can check and update the student's territory in User Management. |
| Student not yet registered | The student may not have completed registration. Ask them to register via the mobile app or web admin. |
| Entry type mismatch | Ensure the student's entry type (New or Continuing) matches what you are filtering for. |
Password Reset Process
- On the login page, click Forgot Password?
- Enter the email address associated with your account.
- Click Submit.
- Check your email for a message from the College containing a temporary password.
- Return to the login page and enter your username and the temporary password.
- You will be redirected to the Change Password screen. Enter the temporary password as your "Current Password" and create a new password.
- After changing your password, you will be redirected to your dashboard.
If you do not receive the password reset email, check your spam/junk folder. If the email address on file is incorrect or you no longer have access to it, contact your ETO or a system administrator for manual password reset.
General Platform Issues
| Issue | Solution |
|---|---|
| Page loads slowly or not at all | Check your internet connection. Try clearing your browser cache (Ctrl + Shift + Delete). Try a different browser. |
| Buttons or links not working | Ensure JavaScript is enabled in your browser. Try refreshing the page (F5 or Ctrl + R). Try a different browser. |
| Mobile app crashes | Ensure you have the latest version of the app from the Play Store or App Store. Clear the app cache in your device settings. Restart your device. |
| Data appears outdated | Refresh the page or pull down to refresh on mobile. Dashboard data may have a brief caching delay. |
| Cannot access certain features | Features are restricted by your user role. Ensure you are logged in with the correct account. Contact your administrator if you believe your access level is incorrect. |
Contact Support
If you are unable to resolve your issue using this manual, please contact College support through the following channels:
| Channel | Details |
|---|---|
| In-App Chat | Use the Chat feature to message an administrator directly from the web or mobile app. |
| Chatbot Escalation | Use the chatbot's "Talk to a Human" feature to escalate your issue to a live support agent. |
| Your ETO | Contact your territory's Education Training Officer for territory-specific issues. |
| Send an email to your institution's support address (provided by your administrator). |
Please include the following information to help us resolve your issue quickly:
• Your name and admission/registration number
• Your territory
• A clear description of the problem
• Steps you have already tried
• Screenshots if applicable (especially for error messages)
10. Previous Performance CSV Upload Admin
This feature allows administrators to bulk-import historical student performance data from CSV files. It is used to migrate or restore assignment scores, exam marks, and final grades for students whose records originate from legacy systems or external sources.
10.1 Overview
The CSV upload feature processes a specially formatted file that maps student admission numbers to their subject performance records. Each student block in the file contains one header row (the admission number) followed by one or more data rows (one per subject).
POST /admin/restore_students/{logged_user_id} with multipart parameter csv_file. This endpoint is restricted to users with Admin-level access (access level 5).
10.2 Preparing the CSV File
File Format Rules
- The file must be a plain-text .csv file (comma-separated values). UTF-8 encoding is recommended.
- The file uses a hierarchical format — NOT a flat table. Each student block starts with a single-value row containing only the admission number.
- Following the admission number row, include one row per subject with exactly 17 comma-separated columns (described below).
- There are no header rows in the file. The first line must be an admission number.
- You may include as many student blocks as needed in a single file. Each new admission number starts a new block.
- The system distinguishes admission-number rows from data rows by column count: a row with 1 column is an admission number; a row with 17 columns is a data row.
File Structure Diagram
Validation Constraints
- Each admission number must correspond to an existing student in the system (matched against
tbl_student.admission_no). - Each subject code must correspond to an existing subject (matched against
tbl_subjects.subject_code). - Assignment scores must be between 0 and 100.
- Average assignment score must be between 0 and 50.
- Exam total and final total must be between 0 and 100.
- Date must follow the MM/dd/yyyy format (e.g.,
31/12/2026). - Data rows must contain exactly 17 columns.
10.3 Column Reference
Each data row (subject performance row) must contain exactly 17 comma-separated values in the following order:
| # | Column | Type | Range | Description |
|---|---|---|---|---|
| 0 | subject_code | String | e.g. CM106 | Subject identifier (must exist in the system) |
| 1 | learning_level_id | Long | Numeric | Learning level reference ID |
| 2 | reg_year | Integer | 4-digit | Registration year (e.g. 2026) |
| 3 | exam_date | String | MM/dd/yyyy | Exam date |
| 4 | assignment_1 | Double | 0–100 | Score for assignment 1 |
| 5 | assignment_2 | Double | 0–100 | Score for assignment 2 |
| 6 | assignment_3 | Double | 0–100 | Score for assignment 3 |
| 7 | assignment_4 | Double | 0–100 | Score for assignment 4 |
| 8 | assignment_5 | Double | 0–100 | Score for assignment 5 |
| 9 | assignment_6 | Double | 0–100 | Score for assignment 6 |
| 10 | assignment_7 | Double | 0–100 | Score for assignment 7 |
| 11 | assignment_8 | Double | 0–100 | Score for assignment 8 |
| 12 | assignment_9 | Double | 0–100 | Score for assignment 9 |
| 13 | assignment_10 | Double | 0–100 | Score for assignment 10 |
| 14 | average_assignment | Double | 0–50 | Weighted average of all assignment scores |
| 15 | total_exam | Double | 0–100 | Total exam score |
| 16 | total_max_awarded | Double | 0–100 | Final awarded mark (assignments + exam combined) |
Sample CSV Data
Below is a sample CSV file showing one student (201724911) with 11 subject records:
In the sample above, subject DC04 has an exam total of 0 and a final total of 0. This is correct behavior — if any assignment score is 0, the system sets all totals to 0. See Important Notes below.
10.4 How to Upload
Step 1: Navigate to the Upload Page
- Log in to the Web Admin panel with an Admin account.
- From the sidebar, navigate to Students → Import Performance (or Restore Students).
- You will see the CSV upload interface with a file selection area and an upload button.
Step 2: Select and Upload the File
- Click Choose File (or drag and drop your CSV file into the upload area).
- Select the
.csvfile you prepared. - Verify the file name and size are displayed correctly.
- Click Upload to begin processing.
Step 3: Wait for Processing
- The system will process the CSV file row by row. For large files (hundreds of students), this may take several minutes.
- A progress indicator will be displayed during processing.
- Do not close the browser or navigate away while the upload is in progress.
10.5 Interpreting Results
After the upload completes, the system displays a summary report:
| Field | Description |
|---|---|
| Total Students Processed | Number of unique admission numbers found in the file |
| Successful Records | Number of subject rows successfully imported |
| Failed Records | Number of subject rows that failed validation or processing |
| Error Details | For each failed row: the admission number, subject code, and reason for failure |
The upload processes each row independently. If some rows fail, others are still imported. You do not need to re-upload the entire file — fix only the failing rows and re-upload.
10.6 Common Errors
| Error | Cause | Fix |
|---|---|---|
Student not found |
The admission number does not match any student in tbl_student |
Verify the admission number is correct. Ensure the student has been registered in the system first. |
Subject not found |
The subject code does not match any subject in tbl_subjects |
Verify the subject code is correct (e.g., CM106, not cm106). Subject codes are case-sensitive. |
Invalid column count |
A data row does not contain exactly 17 columns | Check for missing commas, extra commas, or line breaks within a row. Each data row must have exactly 17 values. |
Invalid number format |
A numeric field contains non-numeric characters | Ensure all score fields contain only numbers (no spaces, letters, or special characters). |
Score out of range |
An assignment score exceeds 100 or the average exceeds 50 | Review the score values. Individual assignments: 0–100; average assignment: 0–50; exam and final totals: 0–100. |
Invalid date format |
The exam date is not in MM/dd/yyyy format | Correct the date format. Example: 31/12/2026 for December 31, 2026. |
File encoding error |
The file contains BOM (Byte Order Mark) characters or unusual encoding | Save the file as UTF-8 without BOM. The system auto-strips BOM characters from admission numbers, but other fields may be affected. |
10.7 Important Notes
If any individual assignment score (columns 4–13) is 0, the system automatically sets the average assignment, exam total, and final total to 0. This is intentional behavior — a zero on any assignment indicates an incomplete or unsubmitted assessment. Verify that all assignment fields have valid scores before uploading.
The system automatically removes Byte Order Mark (BOM) characters from admission numbers via database triggers (remove_bom() on tbl_student and remove_bom_on_users() on tbl_sys_users). If your CSV was exported from Excel, BOM characters are handled automatically.
The upload operation is idempotent — uploading the same file multiple times is safe. If a student-subject record already exists, it will be updated with the new values rather than creating a duplicate. This means you can safely re-upload a corrected file without worrying about duplicate records.
The maximum file upload size is 100 MB. For extremely large imports (thousands of students), consider splitting the CSV into smaller files of 200–500 students each to avoid timeouts.
11. End-to-End Process Flows
This section provides step-by-step guides for the major processes within the platform, showing how different user roles interact across each workflow.
A. Student Enrollment Process
Student enrollment follows a multi-step approval chain involving the student, their territory's ETO, and a platform administrator. The diagram below illustrates the status progression:
Step-by-Step Process
- Student Self-Registers — The student opens the mobile app or web portal and taps Register. They enter personal details (name, email, phone number), select their territory, Salvation Army rank, and academic session. For continuing students, they also provide their existing registration number.
- OTP Verification — The system sends a One-Time Password to the student's registered email or phone. The student enters the OTP to verify their identity. This prevents fraudulent registrations.
- Subject Selection — After verification, the student selects the subjects they wish to enrol in for their academic level (Foundation, Certificate, or Diploma). The system validates that the selected subjects are available for the chosen level.
- ETO Reviews and Approves — The student's registration appears in the ETO's approval queue. The ETO (Education Training Officer for the student's territory) reviews the application details, verifies the student's identity and eligibility, and either approves or rejects. On approval, the status changes from
N(New) toEP(ETO Pending). If rejected, the status becomesER(ETO Rejected) and the student is notified with a reason. - Admin Reviews and Approves — Once the ETO has approved, the registration moves to the Admin approval queue. The Admin performs a final review and either approves or rejects. On approval, the status changes from
EPtoP(Pending). If rejected, the status becomesAR(Admin Rejected). - Admission Number Generated — Upon final approval, the system generates a unique admission number for the student. The format follows the convention:
territory_code-sequence-year/month(e.g.,+254-0004-2024/09for a Kenya student). The status changes toD(Done/Approved). - Student Accesses Platform — The student can now log in and access all enrolled courses, download reading materials, submit assignments, and take exams. The student receives an SMS and/or email notification confirming their successful enrollment.
Administrators can also register students in bulk via the CSV upload feature. Bulk-registered students start with admission status U (Uploaded) and still require ETO and Admin approval before they can access the platform.
B. Assignment Process
The assignment workflow involves tutors creating assignments, students completing them, and a multi-stage marking and approval process.
Step-by-Step Process
- Tutor Creates Assignment — The tutor navigates to their assigned subject, clicks Add Assignment, uploads the assignment question file (PDF, DOCX, or image), writes a description, and sets a due date. The assignment is published to all enrolled students in that subject.
- System Distributes to Students — All students currently enrolled in the subject automatically see the new assignment in their Assignments tab. They receive a push notification (mobile) and/or see the assignment highlighted on their dashboard.
- Student Downloads and Completes — The student downloads the assignment question file, completes the work offline, and prepares their answer as a file (PDF, DOCX, or image).
- Student Uploads Answer — The student navigates to the assignment, clicks Submit Assignment, selects their answer file, and uploads it. The system enforces a monthly limit of maximum 3 assignment submissions per subject per month. Attempting to exceed this limit will result in an error.
- Tutor Downloads and Marks — The tutor sees pending submissions in their marking queue. They download each student's answer file, review it, and enter a score between 0 and 100. They may also leave a text comment for the student.
- Admin Reviews Marking — The Admin reviews the tutor's marks for quality assurance. The Admin can approve the marks, or send them back to the tutor for re-evaluation with feedback.
- Student Sees Final Score — Once approved, the final assignment score appears in the student's performance view under the relevant subject. The student can see individual assignment scores and their running average.
- Late Submission Handling — After the assignment deadline passes, students can no longer submit. Only an Admin can enable late submission for a specific student and assignment by toggling the Allow Late Submission option on the enrollment record.
Students are limited to 3 assignment submissions per subject per month. This limit is configurable by the Admin via System Settings. The limit prevents excessive resubmissions and ensures tutors have manageable marking loads.
N = New (awaiting student submission) •
R = Received (student has submitted) •
T = Tutor marked •
P = Published (Admin approved, visible to student)
C. Exam Process
Exams follow a structured lifecycle from creation through to final grade calculation, with support for both online MCQ exams and downloadable PDF exams.
Step-by-Step Process
- Tutor Creates Exam Paper — The tutor navigates to their subject and creates a new exam paper. For MCQ exams, the tutor adds multiple-choice questions with answer options and marks the correct answer. For downloadable exams, the tutor uploads a PDF question paper.
- Admin Approves Exam Paper — The exam paper enters a review queue. The Admin reviews the questions (or downloaded PDF) for quality and appropriateness, then approves the paper. Unapproved papers cannot be scheduled for students.
- Admin Sets Exam Schedule — The Admin sets the exam date and time window (start time and end time) during which students can access the exam. The schedule is published and visible to all enrolled students.
- Students Take the Exam — When the exam window opens:
- MCQ exams: Students answer questions online within the time limit. The system auto-saves progress. MCQ answers are auto-graded immediately upon submission.
- Downloadable/PDF exams: Students download the exam paper, complete it offline, and upload their answer file before the deadline.
- Tutor Reviews and Marks — For downloadable/essay exams, the tutor downloads each student's submission and assigns a score. For MCQ exams, auto-graded scores may be reviewed by the tutor if needed.
- Admin Final Approval — The Admin reviews the tutor's marks and approves them. Once approved, marks become final and visible to students.
- Results Posted and Grade Calculated — The system calculates the final grade using the weighted formula:
- Retake Policy — Students who fail an exam may retake it up to 3 times. After the third failed attempt, the student is offered an oral exam as a final opportunity. Oral exam scores are entered manually by the tutor. The retake count is tracked per student per subject in the enrollment record.
MCQ (Multiple Choice): Questions with predefined answer options; auto-graded by the system. Downloadable/PDF: Tutor uploads a PDF question paper; students upload answer files; manually graded by the tutor.
Students can only access an exam during the scheduled time window. If a student does not submit before the window closes, they receive a score of 0 for that attempt. The tutor or admin cannot extend the window after it has passed.
D. Certificate Generation
Certificates are generated for students who have successfully completed all required subjects in an academic level. Each certificate includes a QR code for public verification.
Step-by-Step Process
- Student Completes All Subjects — The student must pass all subjects in their academic level with a grade at or above the pass threshold (configurable, default: grade D or 40%). The system tracks completion automatically based on final grades.
- Admin Navigates to Certificates — The Admin opens Certificates from the sidebar, searches for the student by name or admission number, and selects the academic level (Foundation, Certificate, or Diploma) for which the certificate should be generated.
- System Generates PDF Certificate — The system generates a professional PDF certificate using OpenPDF. The certificate includes:
- Student's full name and admission number
- Academic level and completion date
- Final grade or classification
- A unique certificate serial number
- College branding and official imagery
- A QR code for verification
- QR Code Contents — The QR code embedded in the certificate encodes the following data: student name, final grade, certificate serial number, and registration number. When scanned, it links to a verification endpoint that confirms authenticity.
- Certificate Available for Download — The generated certificate is stored in MinIO and made available for download by both the student (via their profile or performance page) and the Admin (via the Certificates management page).
- Public Verification — Any third party (employer, church, institution) can scan the QR code on a printed or digital certificate. The scan opens a public verification page that displays the student's name, grade, certificate serial, and confirmation that the certificate was issued by the College. No login is required for verification.
In addition to certificates, the Admin can generate transcripts that list all subjects completed by the student along with individual grades. The transcript follows the same generation and download process as certificates.
E. Suspension & Reinstatement
The suspension system ensures students complete their enrolled subjects within the allowed timeframe. Suspensions are applied automatically based on deadlines and can be lifted manually by administrators.
Step-by-Step Process
- Enrollment Deadline Set — Each subject enrollment carries a 1-year completion deadline from the date of enrollment approval. This deadline is stored on the student's subject selection record.
- Automated Daily Check — A scheduled job runs daily at 6:00 AM server time. It scans all active enrollments and identifies those where the completion deadline has passed without the student achieving a passing grade.
- Auto-Suspension Applied — Enrollments that have exceeded their deadline are automatically suspended. The suspension is recorded with a timestamp and reason. The student receives a notification (SMS and/or in-app) informing them of the suspension.
- Admin Reviews Suspended Students — The Admin navigates to Suspensions in the sidebar and sees a list of all currently suspended student enrollments. For each suspended record, the Admin can see the student name, subject, original deadline, and suspension date.
- Admin Lifts or Declines — The Admin has two options for each suspended enrollment:
- Lift Suspension: Reactivates the enrollment and resets the 1-year completion deadline from the current date. The student regains access to the subject's materials, assignments, and exams.
- Decline Reinstatement: Permanently closes the enrollment. The student must re-enroll (go through the full enrollment process again) if they wish to retake the subject.
- ETO Notification — The ETO responsible for the student's territory is automatically notified whenever a student in their territory is suspended or reinstated. This allows the ETO to follow up with the student and provide pastoral support if needed.
Suspensions are applied automatically by the system. Neither the student nor the ETO can prevent an auto-suspension once the deadline has passed. Only an Admin can lift a suspension after it has been applied.
All suspension and reinstatement actions are logged in tbl_suspension_log with timestamps, the acting Admin's ID, and the action taken. This provides a full audit trail for compliance and dispute resolution.
College E-Learning — Developed by Sumba Group Limited for Salvation Army SALT College of Africa
College E-Learning User Manual v1.0 — 20th February 2026
This document is confidential and intended for authorized platform users only.