Today's Students
0
Expected in sessions
Pre-reported Absent
0
Notified in advance
Catchup Booked
0
This month
Total Students
0
Enrolled
Pre-reported Absences Today
No absences today
Catchup Bookings
None this month
🔔 Active Reminders
⏳ Catchup Requests — Awaiting Approval
No pending requests
⚠ Over Weekly Hours Limit
Bulk upload: CSV with columns
name, year, gender, phone, type, day, slot, tutor, subjectSelect a student
to view their full profile
Staff Portal
📆 Staff Holiday Import (Google Calendar / iCal)
If your holiday request form is linked to Google Calendar, paste the calendar's iCal URL below to import staff absences automatically.
How to get the URL: Google Calendar → Settings → select your calendar → "Secret address in iCal format"
How to get the URL: Google Calendar → Settings → select your calendar → "Secret address in iCal format"
Tutors & Staff
Management & Admin Users
Reports
Search student
Student
Period
Subject
Date (for lesson plan)
Missing & Catchup Lessons
Select a day to see what happened — absences, messages sent, catchup status
Select a day
Click any day on the calendar to see the details
Stationery Lending
Centre Settings
🏫 Centre Information
Centre Name
Google Sheet URL (for syncing student/attendance data)
Paste your Google Sheet URL here. See the Google Sheets integration instructions at the bottom of this page.
Google Apps Script Web App URL (for saving data)
Deploy your Apps Script as a web app and paste the URL here. Instructions below.
Google Calendar iCal URL (for importing staff holidays)
Google Calendar → Settings → your calendar → "Secret address in iCal format". Saved automatically.
🕐 Session Timings
Weekday slots (Mon–Fri) — add as many as needed
Weekend slots (Sat–Sun)
Custom / one-off session slots
Extra session times not in the regular timetable — they appear as options when adding student sessions.
📋 Session Types
Used to categorise each student session (e.g. Group Setting, Exam Session).
📊 Google Sheets Integration — Step by Step
⚠ This integration saves data from ELC to a Google Sheet in real time. The Sheet acts as a backup and reporting layer. Data entered in the Sheet does NOT sync back to ELC automatically — ELC is the primary system.
Step 1 — Create your Google Sheet
Go to sheets.google.com → New spreadsheet. Name it "ELC Data".
Create these tabs (exact names matter):
Copy the Sheet URL and paste it above.
Create these tabs (exact names matter):
Students Attendance Staff Stationery WeeklyHoursCopy the Sheet URL and paste it above.
Step 2 — Open Apps Script
In your Sheet: Extensions → Apps Script. Delete the default code. Paste the script below and click Save (💾).
const SHEET_ID = SpreadsheetApp.getActiveSpreadsheet().getId();
function doPost(e) {
try {
const data = JSON.parse(e.postData.contents);
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(data.tab);
if (!sheet) return respond({error: 'Tab not found: ' + data.tab});
if (data.action === 'append') {
sheet.appendRow(data.row);
} else if (data.action === 'sync') {
sheet.clearContents();
if (data.headers) sheet.appendRow(data.headers);
(data.rows || []).forEach(row => sheet.appendRow(row));
}
return respond({ok: true});
} catch(err) {
return respond({error: err.message});
}
}
function doGet(e) {
return respond({status: 'ELC Apps Script running', time: new Date().toISOString()});
}
function respond(obj) {
return ContentService
.createTextOutput(JSON.stringify(obj))
.setMimeType(ContentService.MimeType.JSON);
}
Step 3 — Deploy as Web App
Click Deploy → New deployment → Type: Web App
• Execute as: Me
• Who has access: Anyone
Click Deploy → Authorise → Copy the Web App URL
Paste it into the "Google Apps Script Web App URL" field above and click Save.
• Execute as: Me
• Who has access: Anyone
Click Deploy → Authorise → Copy the Web App URL
Paste it into the "Google Apps Script Web App URL" field above and click Save.
Step 4 — Set up sheet headers
In each tab, row 1 should have these headers (the sync button below will do this automatically):
Students:
ID | Name | Year | Gender | Phone | Type | Sessions | EnrolledAttendance:
Date | Day | Slot | Tutor | Student | Status | Hours | Saved By | TimestampStaff:
Name | Role | Phone | Email | Days | Slots | SubjectsStationery:
Item | Student | Qty | Lent Date | Lent By | Returned | Returned By | ConditionWeeklyHours:
Student | Week Start | Allocated | Attended | Extra | Approved | Note | Recorded ByStep 5 — Sync your data
Once the Web App URL is saved, use the buttons below to push all current data to your Sheet. After that, new records (attendance saves, student adds, stationery lends etc.) are automatically sent.