Mar Thoma Sunday School Samajam

Data Management System

Guest Access — Email Verification Required

Since this shows candidate information, we verify a real email first — no account or password needed, just a quick one-time code.

© 2026 Alex K John and All rights reserved Mar Thoma Sunday School Samajam.
Guest View:  ·  Read-only · Candidate Records & Reports only
Mar Thoma Sunday School Samajam

Samajam Portal

Dashboard
ADMIN
Admin

Dashboard

Active Exam Year: 2026

0
Sunday Schools
0
Candidates
0
Fee Paid

Candidates by Class

Diocese Summary

Address Records Summary

0
Head Masters
0
Clergy / Vicars
0
AGB Members
0
Managing Committee

AGB Members — by Gender

Male: 0
Female: 0
Not specified: 0

AGB Members — by Diocese & Gender

Address Entry

Diocese → Center → Sunday School → Category → Person  ·  Multiple entries per school

Step 1 — Select Allocation

Address Records

All
HM
Teachers
Clergy
Center
Diocesan
0
Sl # School Code Sunday School Center Diocese Name Designation Mobile Phone Email Address 1 Address 2 District PIN District / State Changed Remarks Created On Edited On Changed By Last Action Actions

School User: You can only manage candidates for

Candidate Entry

Exam Year: 2026  ·  Select Class first, then add candidates one by one

Batch entry tip: Select School + Class + Category once, then use "Next Candidate" to add multiple students "— class and school stay selected.

New Candidate Registration

School & Year
Class & Exam Details
Candidate List Entry
# Candidate Name * Date of Birth * Age Gender * Medium Register No Needs verification Adm. No Fee Birudh Exam Type Auto Notes
Existing Candidates

Candidate Records

Sorted alphabetically by name within each School "º Class group

0 students
RegNo 10001+ · One continuous sequence per Category + Year (across all schools/classes) · Unique per candidate · To re-assign RegNos in alphabetical order: filter by Category then click "Re-number A–Z"
A–Z # RegNo Adm. No Candidate Name DOBAge Class Category Sex Medium Cand. Type School Center Diocese Year Fee Cert Req. Candidate? Prev Exam Notes Actions

User Management

Create users, assign roles and school permissions  · 

All
Admins
Local Users
School Users

Import from Excel / CSV

Import Diocese, Center, School, Exam Center, HM or Candidate data

Click to upload or drag & drop

Supports .xlsx, .xls, .csv

Download Templates

Management

Diocese "º Center "º School hierarchy "— full add, edit, delete

Dioceses (0)
Districts (0)
Exam Centers (0)
QIP Exam Centres (0)
Centers (0)
Schools (0)

Class & Permitted DOB Limits

Set the permitted date-of-birth range for each class. Used to auto-suggest class from candidate DOB.

#Class LevelRefDOB From (earliest)DOB To (latest)Birudh ExamAnnual ExamUpgrades ToSaveDelete

Age Eligibility — Exam Year Overrides Admin only

The table above is each class's default DOB range, used for every exam year unless overridden here. Pick an exam year below to set a different permitted DOB range just for that year — useful when the eligible birth-year window shifts annually. Leave a field blank to fall back to the default.

ClassDOB From (this year)DOB To (this year)Effective rangeStatus

Mark Entry

Build a Tabulation Sheet and enter marks — feeds the Result report

Tabulation Sheet for Examiners

Build the order candidates should appear in on the printed sheet — click to add them in whatever order you need (seating order, exam order, etc.), not automatically sorted by Register No. You can also enter marks directly against each candidate right here in the Tabulation Order list. The printed sheet shows Reg No. with a blank Mark column (rows per sheet is your choice below), for examiners to fill in by hand.

Available Candidates
Tabulation Order (0)

Settings

Appearance, backend sync & configuration

Appearance

Choose a color theme for the app. Applies instantly and remembers your choice on this device.

Supabase Backup Optional — independent copy on a different provider

MySQL (below) is where the app actually runs — reads, writes, login, everything. This is purely an extra, independent copy: every save also quietly goes here too, on a completely different provider than Hostinger. The point is redundancy — if Hostinger ever goes down, this copy is untouched. You only need to do this once, on any one device — every other device will pick up these same settings automatically the next time it loads.

One-time setup in Supabase, before connecting here:
1. Create a free project at supabase.com.
2. SQL Editor → New Query → paste and run the schema I've given you (supabase-backup-schema.sql).
3. Authentication → Sign In / Providers → make sure Anonymous Sign-ins is enabled.
4. Project Settings → API → copy the Project URL and the anon public key — never the service_role key here, that one must stay secret and server-side only.

MySQL Database (Hostinger)

This is the database the app runs on — already set up to connect automatically, every device connects the moment it loads, no clicking needed. Checks for updates from other devices roughly every 8 seconds.

This runs automatically \u2014 you shouldn't need to click it The app already re-confirms this device's data against the database automatically, continuously in the background (an efficient check every ~8 seconds, plus a full, complete refresh every few minutes) \u2014 nothing here is ever left relying only on local storage. Use this button only if you want that refresh to happen right now instead of waiting for the next automatic cycle.
Someone else can't log in / see your data, or your two databases feel out of sync? Checks every record on this device against MySQL and Supabase (whichever are connected) and uploads anything missing or different to each \u2014 including catching up older data from before automatic retry existed. New saves already retry themselves automatically going forward; this is for a one-time full check.
Worried about duplicate entries? True same-ID duplicates can't actually happen \u2014 both databases enforce that at the structural level. This instead checks for the same real record entered twice with two different IDs (a candidate, school, or user accidentally added more than once) across Candidates, Schools, Address Records, Users, and every reference-code list.
One-time setup in Hostinger, before connecting here:
1. hPanel → Databases → MySQL Databases → create a database + user, note the host/name/user/password.
2. Open that database in phpMyAdminSQL tab → paste and run schema.sql (given to you).
3. In File Manager, create a folder (e.g. mtss-api) inside public_html → upload api.php, db.php, env.php, .htaccess, and .env into it.
4. Edit the .env file in File Manager — fill in your database host/name/user/password from step 1, and choose your own API_KEY (any long random text).
5. Your API URL is https://yourdomain.com/mtss-api/api.php — paste that and your API_KEY above.

Data Management

Connection status: Not connected (offline/local mode)

Records & Reports

Filter, generate and print formatted candidate lists

All Candidates
Birudh Exam
Address Records
Annual Exam
Result
SLIP & ID
QIP

Filters

Audit Log

Track who added, edited or deleted records

0 entries
TimestampUserActionTypeRecord IDDetails