PointQuest is a web-based platform built for APJ Abdul Kalam Technological University (KTU) to streamline the tracking, submission, and approval of student co-curricular activity points — as mandated by the KTU Activity Points regulation.
Instead of manual paperwork, students upload certificates digitally, advisors review and score them online, and the system automatically computes each student's activity point total based on KTU's official scoring rubric.
KTU requires every student to earn a minimum number of activity points through participation in co-curricular activities (sports, seminars, internships, NSS, etc.) before graduation. Traditionally this was tracked through physical certificates and manual spreadsheets — error-prone, slow, and hard to audit.
PointQuest centralises the entire process:
- Students submit certificates with proof
- Class advisors review and either approve or reject them with remarks
- Scores are calculated automatically per KTU's 2024 regulation
- The System Admin manages the institution's classes, users, and activity categories
| Role | What They Do |
|---|---|
| Student | Upload certificates, track approval status, view total activity score |
| Advisor | Review pending certificates, score them, manage their class's semester |
| System Admin | Create and manage classes, users, activity categories and subcategories |
- Frontend — Vanilla HTML, CSS, JavaScript (ES Modules, no framework)
- Backend & Database — Supabase (PostgreSQL, Auth, Row Level Security, Storage, Edge Functions)
- Scoring Logic — Implemented in JS based on the official KTU Regulation 2024 — Activity Points document
- Role-based access control — advisors only see their own class; students only see their own data; enforced at the database level via Supabase RLS policies
- Certificate upload with file storage — certificates are stored securely in Supabase Storage
- Auto-scoring — the system applies KTU's point rubric automatically on upload; advisors can override the score during review
- Admin user management — the admin creates all accounts server-side via a Supabase Edge Function (no self-registration), ensuring only authorised users are on the platform
The scoring system is based on the official document:
📄 KTURegulation2024-ActivityPoints.pdf (included in this repository)