Livoa LogoLivoa
Users


id (PK)
name
email (unique)
password_hash
role {student|lecturer|admin}
user_no
student_no
programme
created_at, is_active

Classes:

id (PK)
code (unique)
name
programmes_csv

User_Classes


user_id (FK -> Users.id)
class_id (FK -> Classes.id)
PK: (user_id, class_id)

Campuses

id (PK)
code (unique) {RIT, SBK, MLS}
name, lat, lng

Sessions


id (PK)
class_code (FK -> Classes.code)
campus_code (FK -> Campuses.code)
start_at, end_at, base_token
created_at, created_by, status

Attendance:

id (PK)
session_id (FK -> Sessions.id)
user_id (FK -> Users.id)
scan_type {entry|exit}
scan_time
lat, lng
UNIQUE(session_id, user_id, scan_type)

3

by Cohan

0
0 uses