Skip to content

MIS-Parent-Application/MIS-Parent-App

Repository files navigation

Colegio de Alicia Logo

MIS Parent App - Full Stack Documentation

Android Debug APK Build Railway Deployment Status

Website Facebook Download MIS Parent App APK Documentation Figma Design Google Drive Folder

πŸ“Œ Overview

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.


πŸ—οΈ System Architecture

The project follows a Client-Server architecture with a modern mobile frontend and a multi-database backend.

1. Frontend (Mobile)

  • 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.

2. Backend (API)

  • 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.

πŸ› οΈ Technical Stack

Mobile Frontend

  • Language: Kotlin
  • UI Architecture: MVVM (Model-View-ViewModel)
  • Concurrency: Kotlin Coroutines & Flow
  • Dependency Injection: Manual ViewModel Factories
  • Build System: Gradle (Kotlin DSL)

Backend Services

  • Language: JavaScript (Node.js)
  • Database Drivers: sqlite3 for local/core data, pg for production PostgreSQL.
  • Security: crypto for SHA-256 OTP hashing and session verification.
  • Middleware: cors, express.json (10mb limit for profile image uploads).

πŸ“‘ API Documentation

Authentication (/api/auth)

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.

Parent & Student Data (/api/parent, /api/student)

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).

Communications & Feedback

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.

πŸ—„οΈ Database Schemas

SQLite (Core Data)

  • 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".

PostgreSQL (Production Logs)

  • parent_app_feedback: Stores user_email, feedback_type, message, and app_version with automatic timestamps.

πŸš€ Deployment & Installation

Android (Mobile)

  1. Download: Get the latest APK
  2. Installation: Allow "Unknown Sources" in Android Settings.
  3. Sign-in username: jordan
  4. Sign-in password: parent123

Backend (Railway)

  1. Repository: Connect the backend/ directory to a Railway project.
  2. Environment Variables:
    • DATABASE_URL: Your PostgreSQL connection string.
    • EMAIL_USER / EMAIL_PASS: SMTP credentials for 2FA.
    • PORT: (Default 3000).
  3. Automatic Schema: On startup, the backend verifies and creates necessary PostgreSQL tables automatically.

✨ Key Features & UX Enhancements

  • 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.

🎨 Contributors

CarlXT
Carl Sagario
πŸ§‘πŸ»β€πŸ’»πŸŽ¨πŸ“„
Fallen032
Serge Keneth Lim
πŸ§‘πŸ»β€πŸ’»
semi-naan
Keenan Semine
πŸ§‘πŸ»β€πŸ’»
Namkee
Jethro Nathaniel Cabahug
πŸ§‘πŸ»β€πŸ’»πŸ“„
Axiala01
Juliana Mae Lloveras
πŸ§‘πŸ»β€πŸ’»
vicben2
Zeth Brandinno
πŸ§‘πŸ»β€πŸ’»
b1nsz
Vince Cherry Betache
πŸ§‘πŸ»β€πŸ’»

Β© 2026 Colegio de Alicia. All Rights Reserved.


Documentation Version: 1.1.0
Last Updated: May 2026

About

Official repository for Colegio De Alicia Management Information System (MIS) mobile app for the parents end.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors