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!

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