attendance-management-checkin

byRoyce Talents

Recreate my Android app from scratch called CHECKIN. Build it with Kotlin + Jetpack Compose + Material 3, CameraX, ML Kit, Supabase, Room, Coroutines, ViewModels and Repository architecture. The app is a real attendance management system with two separate roles: 1. STUDENT 2. LECTURER IMPORTANT: Build REAL functionality, not UI prototypes, simulations, fake data, random attendance, or placeholder camera/biometric features. CORE FEATURES: • Email/password authentication, verification, password reset and persistent login. • Lecturer can create an institution using: - School name - Unique permanent institution code • Students and lecturers can join an existing institution using the code. • Institution data must be stored in Supabase and work across different devices. • Never use hardcoded/demo institutions or randomly assign users to institutions. • Use one canonical institution ID for all users, courses, sessions and attendance. DATABASE: Create Supabase tables for: - profiles - institutions - institution_members - courses - attendance_sessions - attendance_records Use proper foreign keys, unique constraints and Row Level Security. LECTURER: - Create/manage courses - Create attendance sessions - Generate QR attendance - Start live attendance - Use a REAL CameraX camera to detect multiple people - Show detected people count - Support biometric/face verification where implemented - Support GPS/geofence attendance - View attendance records and statistics - Export attendance STUDENT: - View institution and courses - See active attendance sessions from Supabase - Scan REAL QR codes using CameraX - Use REAL face/biometric verification - Use GPS verification when required - View attendance history and statistics CROSS-DEVICE FLOW: Lecturer creates session → Supabase → Student device retrieves session → Student verifies using QR/face/GPS → AttendanceRecord created → Supabase → Lecturer sees updated attendance. A student from another institution MUST NOT see or join the session. GPS must only be required when the session actually requires GPS. CAMERA: Use real CameraX frame processing. Do not simulate faces, counts or attendance. Do not create fake biometric matches. OFFLINE: Use Room as a local cache. Queue attendance when offline. Sync with Supabase when internet returns. Never report a failed sync as successful. UI: Create a professional modern Material 3 interface with separate Student and Lecturer dashboards, loading states, errors, empty states, permissions and proper navigation. IMPORTANT: Do not claim a feature is complete unless it is actually implemented and tested. Before completion: - Build the project - Fix compilation errors - Verify Supabase/database integration - Verify authentication - Verify institution joining - Verify cross-device sessions - Verify QR - Verify GPS - Verify biometric/face functionality - Verify lecturer multi-person camera - Verify attendance recording - Verify offline sync - Verify security/RLS At the end, give me a short report showing each major feature as: IMPLEMENTED / PARTIALLY IMPLEMENTED / NOT IMPLEMENTED and mention the exact files/components involved.

Landing
Landing

Comments (0)

No comments yet. Be the first!

Project Tasks

106 planning tasks
#1

Generate system requirement document

2m 24s0.1 cr used
Done
#2

Generate personas & user flows

0m 11s0.1 cr used
Done
#7

Create flow for Student

0m 9sCredits in parent
Done
#8

Create flow for Lecturer

0m 9sCredits in parent
Done
#9

Landing

10m 38sCredits in subtasks
Done
#34

Repair Landing JSX

1m 4s0.2 cr used
Done
#33

Repair Landing JSX

0m 53s0.2 cr used
Done
#29

Landing / Navigation

0m 17s0.8 cr used
Done
#23

Landing / App Header

0m 19s0.8 cr used
Done
#24

Landing / Hero

0m 41s0.8 cr used
Done
#25

Landing / Capability Summary

0m 41s0.8 cr used
Done
#26

Landing / Verification Modes

0m 40s0.8 cr used
Done
#27

Landing / Cross Device Flow

0m 39s0.8 cr used
Done
#28

Landing / App Footer

0m 14s0.8 cr used
Done
#30

App Header

0m 19sCredits in parent
Done
#31

App Footer

0m 14sCredits in parent
Done
#32

Navigation

0m 17sCredits in parent
Done
#10

Login

7m 26sCredits in subtasks
Paused
#93

Login / Navigation

0.8 cr needed
Paused
#37

Login / Identity Panel

0.8 cr needed
Paused
#38

Login / Access Panel

0.8 cr needed
Paused
#39

Login / App Footer

0.8 cr needed
Paused
#11

Account Recovery

6m 49sCredits in subtasks
Error
#108

Repair Account Recovery JSX

0m 40s0.2 cr used
Done
#107

Repair Account Recovery JSX

0m 24s0.2 cr used
Done
#94

Account Recovery / Navigation

0m 17s0.8 cr used
Done
#35

Account Recovery / Request

0m 26s0.8 cr used
Done
#36

Account Recovery / App Footer

Not recorded0.8 cr used
Done
#12

Student Dashboard

6m 51sCredits in subtasks
Paused
#95

Student Dashboard / Navigation

0.8 cr needed
Paused
#55

Student Dashboard / Sync Drawer

0.8 cr needed
Paused
#51

Student Dashboard / Live Strip

0.8 cr needed
Paused
#52

Student Dashboard / Institution Strip

0.8 cr needed
Paused
#53

Student Dashboard / Active Sessions

0.8 cr needed
Paused
#54

Student Dashboard / Course Ledger

0.8 cr needed
Paused
#56

Student Dashboard / App Footer

0.8 cr needed
Paused
#13

Lecturer Dashboard

6m 51sCredits in subtasks
Paused
#96

Lecturer Dashboard / Navigation

0.8 cr needed
Paused
#46

Lecturer Dashboard / Live Status Strip

0.8 cr needed
Paused
#47

Lecturer Dashboard / Course Ledger

0.8 cr needed
Paused
#48

Lecturer Dashboard / Session Ledger

0.8 cr needed
Paused
#49

Lecturer Dashboard / Attendance Summary

0.8 cr needed
Paused
#50

Lecturer Dashboard / App Footer

0.8 cr needed
Paused
#14

Institution

6m 50sCredits in subtasks
Paused
#97

Institution / Navigation

0.8 cr needed
Paused
#40

Institution / Identity Strip

0.8 cr needed
Paused
#41

Institution / Create Panel

0.8 cr needed
Paused
#42

Institution / Join Panel

0.8 cr needed
Paused
#43

Institution / Membership Ledger

0.8 cr needed
Paused
#44

Institution / Isolation Notice

0.8 cr needed
Paused
#45

Institution / App Footer

0.8 cr needed
Paused
#15

Courses

6m 50sCredits in subtasks
Paused
#98

Courses / Navigation

0.8 cr needed
Paused
#57

Courses / Institution Scope

0.8 cr needed
Paused
#58

Courses / Ledger

0.8 cr needed
Paused
#59

Courses / App Footer

0.8 cr needed
Paused
#16

New Session

6m 50sCredits in subtasks
Paused
#99

New Session / Navigation

0.8 cr needed
Paused
#60

New Session / Header

0.8 cr needed
Paused
#61

New Session / Configuration

0.8 cr needed
Paused
#62

New Session / App Footer

0.8 cr needed
Paused
#17

Session Details

6m 50sCredits in subtasks
Paused
#100

Session Details / Navigation

0.8 cr needed
Paused
#67

Session Details / Sync Drawer

0.8 cr needed
Paused
#63

Session Details / State Band

0.8 cr needed
Paused
#64

Session Details / Qr Instrument

0.8 cr needed
Paused
#65

Session Details / Verification Checklist

0.8 cr needed
Paused
#66

Session Details / Attendance Pulse

0.8 cr needed
Paused
#68

Session Details / App Footer

0.8 cr needed
Paused
#18

Live Attendance

6m 50sCredits in subtasks
Paused
#101

Live Attendance / Navigation

0.8 cr needed
Paused
#69

Live Attendance / Session Strip

0.8 cr needed
Paused
#70

Live Attendance / Camera Stage

0.8 cr needed
Paused
#71

Live Attendance / Detected Counter

0.8 cr needed
Paused
#72

Live Attendance / Ledger

0.8 cr needed
Paused
#73

Live Attendance / App Footer

0.8 cr needed
Paused
#19

Scan QR

6m 50sCredits in subtasks
Paused
#102

Scan QR / Navigation

0.8 cr needed
Paused
#80

Scan QR / Scan QRQueue Status

0.8 cr needed
Paused
#78

Scan QR / Scan QRScanner

0.8 cr needed
Paused
#79

Scan QR / Scan QRSession Match

0.8 cr needed
Paused
#81

Scan QR / App Footer

0.8 cr needed
Paused
#20

Verify Attendance

6m 50sCredits in subtasks
Paused
#103

Verify Attendance / Navigation

0.8 cr needed
Paused
#76

Verify Attendance / Offline Queue

0.8 cr needed
Paused
#74

Verify Attendance / Session Context

0.8 cr needed
Paused
#75

Verify Attendance / Submission

0.8 cr needed
Paused
#77

Verify Attendance / App Footer

0.8 cr needed
Paused
#21

Attendance Records

6m 50sCredits in subtasks
Paused
#104

Attendance Records / Navigation

0.8 cr needed
Paused
#82

Attendance Records / Live Strip

0.8 cr needed
Paused
#83

Attendance Records / Statistics

0.8 cr needed
Paused
#84

Attendance Records / Ledger

0.8 cr needed
Paused
#85

Attendance Records / Export

0.8 cr needed
Paused
#86

Attendance Records / App Footer

0.8 cr needed
Paused
#22

My Attendance

6m 50sCredits in subtasks
Paused
#105

My Attendance / Navigation

0.8 cr needed
Paused
#91

My Attendance / Sync Drawer

0.8 cr needed
Paused
#87

My Attendance / Header

0.8 cr needed
Paused
#88

My Attendance / Summary Strip

0.8 cr needed
Paused
#89

My Attendance / Statistics

0.8 cr needed
Paused
#90

My Attendance / Ledger

0.8 cr needed
Paused
#92

My Attendance / App Footer

0.8 cr needed
Paused
#106

Navigation

0m 17sCredits in parent
Done
#5

Architecture

0.1 cr needed
Paused
#6

Workspace task plan

0.1 cr needed
Paused
Landing design preview
Landing: Review capability summary
Login: 1. Sign in
Login: Resolve unverified email
Account Recovery: 2. Request password reset
Account Recovery: 3. Return to Login
Institution: Create institution
Institution: Join institution by code
Institution: Review membership
Lecturer Dashboard: Open courses
Courses: Create course
Courses: Manage courses
New Session: Create attendance session
New Session: Set GPS requirement
Session Details: 1. Generate QR attendance
Session Details: 2. Retry QR generation
Session Details: Start live attendance
Live Attendance: Grant camera permission
Live Attendance: Monitor detected count
Attendance Records: Review attendance statistics
Attendance Records: 1. Export attendance
Attendance Records: 2. Resolve export failure
Verify Attendance: Review verification requirements
Session Details: Review updated attendance
Landing design preview
Landing: Review capability summary
Login: 1. Sign in
Login: Resolve unverified email
Account Recovery: 2. Request password reset
Account Recovery: 3. Return to Login
Institution: Create institution
Institution: Join institution by code
Institution: Review membership
Lecturer Dashboard: Open courses
Courses: Create course
Courses: Manage courses
New Session: Create attendance session
New Session: Set GPS requirement
Session Details: 1. Generate QR attendance
Session Details: 2. Retry QR generation
Session Details: Start live attendance
Live Attendance: Grant camera permission
Live Attendance: Monitor detected count
Attendance Records: Review attendance statistics
Attendance Records: 1. Export attendance
Attendance Records: 2. Resolve export failure
Verify Attendance: Review verification requirements
Session Details: Review updated attendance