Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

52 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Typing SVG

Stars Forks Last Commit Repo Size

PHP MySQL Kotlin Firebase

Website

Get it on Google Play

⭐ If UniVault is useful to you, consider starring the repo β€” it genuinely helps.


Table of Contents


Overview

UniVault is a full-stack academic management system built for institutions to manage courses, events, grades, and multi-role communication β€” all in one place.

πŸ–₯️ Backend
PHP + MySQL REST API
πŸ“± Frontend
Native Android app in Kotlin
πŸ”” Auth & Notifications
Firebase (Auth, FCM, Google Sign-In)

Why UniVault

Multi-Role by Design
Dedicated flows for Admins, Faculty, and Students β€” not a single generic dashboard.
Real-Time by Default
Push notifications via Firebase Cloud Messaging keep everyone in sync instantly.
Production-Ready
Production-grade app available on the Google Play Store for real users worldwide with continuous improvements.
Simple, Proven Stack
PHP + MySQL + Kotlin + Firebase β€” reliable, well-documented, easy to extend.

Features

πŸ” Authentication

  • Role-based login for Admin, Faculty, and Students
  • Google Sign-In via Firebase
  • Secure password change & reset flows

πŸ“š Course Management

  • Add, update, and delete courses & departments
  • Faculty-to-course assignment

πŸ“… Events & Notices

  • Schedule, update, and remove events/notices
  • Real-time push notifications via FCM

πŸ“Š Grades & Feedback

  • Submit and retrieve student grades
  • Structured feedback collection

πŸ§‘β€πŸ’Ό Multi-Role Dashboards

  • Dedicated panels for Admin and Faculty
  • Distinct endpoints per role

πŸ“© Notifications

  • Push (FCM), email, and in-app notices
  • Keeps students and faculty in sync

Tech Stack

Tech stack animated diagram

Architecture

flowchart LR
    subgraph Client["πŸ“± Android App (Kotlin)"]
        UI[UI Layer]
        VM[Repository / ViewModel]
    end

    subgraph Cloud["πŸ”₯ Firebase"]
        Auth[Firebase Auth + Google Sign-In]
        FCM[Cloud Messaging]
    end

    subgraph Server["πŸ–₯️ PHP Backend"]
        API[REST API Endpoints]
    end

    subgraph DB["πŸ—„οΈ MySQL"]
        Tables[(Users Β· Courses Β· Events Β· Grades)]
    end

    UI --> VM
    VM -->|REST calls| API
    VM -->|Sign-in| Auth
    Auth -.-> FCM
    API --> Tables
    FCM -->|Push Notifications| UI
Loading

Screenshots

Comrade Mohan β€” Full-Stack Developer & Product Builder

Project Structure

192210400PDD/
β”œβ”€β”€ assets/            # Static images used in this README (e.g. tech-stack.svg)
β”œβ”€β”€ backend/           # PHP backend scripts & API endpoints
β”‚   └── *.sql            # Database schema files
β”œβ”€β”€ frontend/          # Kotlin Android app
└── README.md
Path Description
backend/ PHP backend scripts and API endpoints
frontend/ Kotlin Android app (or linked repo)
MySQL Persistent storage
Firebase Push notifications & authentication

Getting Started

Requirements

  • PHP 7.4+ and a MySQL instance
  • Android Studio (latest stable)
  • A Firebase project with Auth, Firestore, and FCM enabled

Backend Setup (PHP + MySQL)

git clone https://github.com/ComradeMohan/192210400PDD.git
  1. Set up your PHP server and MySQL instance.
  2. Import the database schema (.sql files under backend/).
  3. Configure the database connection in backend/db.php.
  4. Install any dependencies (see vendor/).

Frontend Setup (Kotlin + Firebase)

  1. Open frontend/ (or your Android project) in Android Studio.
  2. Link your Firebase project and drop google-services.json into the app module.
  3. Enable Firebase Auth, Firestore, and FCM for the project.

Configuration

File Purpose
backend/db.php Database connection credentials
google-services.json Firebase project configuration for the Android app

Usage

  • Backend endpoints handle all management operations.
  • The Android app talks to the backend via REST APIs and to Firebase directly for auth/notifications.
  • Admins manage users, courses, and events. Faculty manage courses and student data. Students interact with notices, events, and grades.

Contributing

Contributions are welcome and appreciated.

  1. Fork this repository
  2. Create a feature branch β€” git checkout -b feature-name
  3. Commit your changes
  4. Push to your branch and open a Pull Request

PRs Welcome


Support

If you run into an issue or have a feature request, please open an issue on this repository.


Author

Comrade Mohan β€” Founder & Developer

GitHub LinkedIn Portfolio

About

Source code repository.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages