Understanding how the app uses FakeData.kt to simulate backend responses before Supabase integration
The TecNM Control Escolar app currently uses mock data to simulate backend responses. This allows UI development and testing without requiring a live backend connection.
val student = Student( id = 1, controlNumber = "226W0487", name = "Arlyn Alfaro", career = "Ingeniería en Sistemas Computacionales", semester = 8, average = 92.5)
Data Model:
data class Student( val id: Int, val controlNumber: String, // Student ID number val name: String, val career: String, // Degree program val semester: Int, val average: Double // GPA)
The controlNumber follows TecNM’s standard format: 226W0487 (year + identifier)
val todayClasses = listOf( ClassSession( id = 1, subject = "Física I", teacher = "Prof. A. Einstein", classroom = "Aula A2", day = "Martes", startHour = "08:00", endHour = "09:00", isCurrent = false ), ClassSession( id = 2, subject = "Programación Orientada a Objetos", teacher = "Prof. G. Hopper", classroom = "Lab 3", day = "Martes", startHour = "10:00", endHour = "12:00", isCurrent = true // Currently active class ), // ... more classes)
Data Model:
data class ClassSession( val id: Int, val subject: String, val teacher: String, val classroom: String, val day: String, val startHour: String, val endHour: String, val isCurrent: Boolean = false // Highlights active class)
The isCurrent flag determines which class is displayed as “Clase actual” on the HomeScreen.
val buildings = listOf( Building( id = 1, name = "Edificio A", description = "Aulas generales", category = "Aulas", distance = "120 m" ), Building( id = 2, name = "Laboratorio 3", description = "Prácticas de computación", category = "Labs", distance = "180 m" ), Building( id = 3, name = "Cafetería Central", description = "Zona de alimentos", category = "Cafetería", distance = "220 m" ))
Data Model:
data class Building( val id: Int, val name: String, val description: String, val category: String, // "Aulas", "Labs", "Cafetería" val distance: String // Simulated distance from user)
Modify any field in the student, todayClasses, or buildings objects:
val student = Student( id = 1, controlNumber = "226W0999", // Change student ID name = "Your Name", // Change name career = "Ingeniería en Sistemas Computacionales", semester = 6, // Change semester average = 95.0 // Change GPA)
3
Rebuild and Run
The app will reflect changes immediately:
Hot reload (if using Android Studio’s Apply Changes)
Or rebuild the project: Build → Rebuild Project
Rerun the app
Changes to FakeData.kt are for development only. Production data will come from Supabase.