The MIS Parent App is a specialized mobile Management Information System designed to bridge the communication gap between educational institutions and parents. It allows parents to monitor their child's academic progress, attendance, and school activities in real-time through a secure, modern interface.
The project follows a Client-Server architecture with a modern mobile frontend and a multi-database backend.
- Framework: Kotlin Jetpack Compose (Declarative UI)
- Local Persistence: Room Database (SQLite) for offline caching and session management.
- Networking: Retrofit 2 with OkHttp for RESTful communication.
- Navigation: Type-safe Compose Navigation.
- Image Loading: Custom RemoteImage implementation with initials fallback logic.
- Runtime: Node.js (Express framework)
- Primary Database (SQLite): Stores student records, schedules, grades, and core application data.
- Production Database (PostgreSQL): Hosted on Railway; specifically handles user feedback and high-durability production logs.
- Email System: Nodemailer (Gmail SMTP) for Two-Factor Authentication (2FA) codes.
- Language: Kotlin
- UI Architecture: MVVM (Model-View-ViewModel)
- Concurrency: Kotlin Coroutines & Flow
- Dependency Injection: Manual ViewModel Factories
- Build System: Gradle (Kotlin DSL)
- Language: JavaScript (Node.js)
- Database Drivers:
sqlite3for local/core data,pgfor production PostgreSQL. - Security:
cryptofor SHA-256 OTP hashing and session verification. - Middleware:
cors,express.json(10mb limit for profile image uploads).
| Endpoint | Method | Description |
|---|---|---|
/login |
POST | Authenticates user; returns 2FA requirement status or dashboard data. |
/verify-otp |
POST | Verifies the 6-digit email code and establishes a session. |
/resend-otp |
POST | Invalidates old OTP and issues a fresh one via email. |
| Endpoint | Method | Description |
|---|---|---|
/parent/dashboard |
GET | Comprehensive data pull (parent info + list of all children). |
/student/:id/attendance |
GET | Detailed subject-by-subject attendance breakdown. |
/student/:id/grades |
GET | Official grades including Term (Prelim/Midterm) and Remarks. |
/student/:id/academic-performance |
GET | Performance alerts (Missing outputs, High/Low scores). |
/parent/profile |
PATCH | Updates email, phone, or profile image (supports Base64 upload). |
| Endpoint | Method | Description |
|---|---|---|
/announcements |
GET | Fetches school-wide and college-specific notifications. |
/feedback |
POST | (Postgres) Submits user feedback directly to the production database. |
/chat/history/:facultyId |
GET | Retrieves conversation history between a parent and a specific teacher. |
/chat/send |
POST | Sends a new chat message to a faculty member. |
parents: Basic info, contact details, and 2FA settings.students: Academic profiles linked to parent accounts.academic_grades: Official scores with term and instructor details.class_schedules: Time, room, and subject mapping for daily tracking.notifications: Alerts that populate "Recent Activities" and "Announcements".
parent_app_feedback: Storesuser_email,feedback_type,message, andapp_versionwith automatic timestamps.
- Download: Get the latest APK
- Installation: Allow "Unknown Sources" in Android Settings.
- Sign-in username: jordan
- Sign-in password: parent123
- Repository: Connect the
backend/directory to a Railway project. - Environment Variables:
DATABASE_URL: Your PostgreSQL connection string.EMAIL_USER/EMAIL_PASS: SMTP credentials for 2FA.PORT: (Default 3000).
- Automatic Schema: On startup, the backend verifies and creates necessary PostgreSQL tables automatically.
- Smart Performance Stats: Dashboard calculates a weighted performance score (60% GPA, 30% Attendance, 10% Task records).
- Marquee UI: Long student names and subject titles automatically pan (right-to-left) to maintain card symmetry.
- Data Safety: Parents can toggle 2FA and clear local data directly from the Settings module.
- Integrated Feedback: Direct line to app developers with Bug/Feature Request categorization.
Β© 2026 Colegio de Alicia. All Rights Reserved.
Documentation Version: 1.1.0
Last Updated: May 2026
