I. Common / Authentication Screens
These screens handle the entry point for all three actors (Parent, Staff, Admin).
email, password
Authenticates via Firebase Auth. Checks users collection to determine role (admin, staff, parent) and redirects to the appropriate dashboard.
"Register as Parent" (Staff/Admins are pre-created).
email, password, fullName, phone
Creates Auth User and a document in the users collection with role: 'parent'.
II. Parent Screens
Focused on the Student Lifecycle (Enrollment -> Onboarding -> Daily Updates).
List of children linked to the parent.
- Child Card:
firstName,photoUrl,status('pending','onboarding','active').
"Add New Child" (Enrollment), "View Child".
firstName, lastName, dateOfBirth, gender.
Creates a document in enrollment_forms with status: 'pending'.
Accessible only when child status is 'onboarding' or 'active'.
basic_info (Read-only: Name, DOB).
profilePhoto(Upload to Storage).immunizationHistory(List of vaccines & dates).allergies(Selection/List).emergencyContacts(Name, Phone, Relation).dietaryPreferences.
"Save Details" (Updates children collection).
- Header: Child Name, Photo, Classroom Name.
- Daily Feed: Stream of
daily_class_logs(Meals, Naps, Photos) filtered by the child'sassignedClassroomId. - Incidents: Alerts from
children/{id}/incidents.
"Request Exit" (Sets flag in children doc).
III. Staff Screens
Focused on Staff Lifecycle, Daily Operations, and Syllabus.
- Classroom Name (e.g., "The Sunflowers").
- Quick Stats: Total Students, Present Today.
- My Status: "Active" or "On Leave".
"Start Daily Log", "View Students", "Syllabus".
date(Default today).activitiesSummary(Text).mealsServed(Menu details).napTimes(Start/End).photoUpload(Select images).
Writes to daily_class_logs.
List of children with assignedClassroomId == myClassroom.
Click student to evaluate.
- Type Toggle: "Development Log" vs. "Incident" vs. "Evaluation".
- Fields:
milestoneCategory,observation,rating(1-5),incidentDescription,actionsTaken.
Writes to sub-collections children/{id}/evaluations or incidents.
title, weekNumber, themeTopic, learningObjectives.
contentPdf (Lesson plan file).
Creates/Updates syllabus_plans.
Employment history, Certifications.
startDate, endDate, reason.
Creates doc in staff_profiles/{uid}/leave_requests.
IV. Administrator Screens
Focused on Management and Approvals.
- Pending Enrollments Count.
- Pending Leave Requests Count.
- Total Active Students/Staff.
List of enrollment_forms where status == 'pending'.
"Approve" (Triggers Cloud Function to create Child record), "Reject".
List of all users where role == 'staff'.
"Add New Staff" (Creates Auth & Profile), "Deactivate/Exit".
List of requests from staff_profiles/{uid}/leave_requests.
"Approve", "Reject" (Updates request status).
Create classrooms (Name, Age Group).
Assign leadStaffId and activeSyllabusId to a classroom.
V. UI Design & Theme
The following color theme was used to generate the sample screens for the application, ensuring a consistent and accessible user interface.
Color Theme
Sample Screens
Generated Backgrounds
Background patterns generated via Canvas API for the mobile application.