- Overview
- Why UniVault
- Features
- Tech Stack
- Architecture
- Screenshots
- Project Structure
- Getting Started
- Usage
- Contributing
- Support
- Author
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) |
|
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. |
|
|
|
|
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
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 |
- PHP 7.4+ and a MySQL instance
- Android Studio (latest stable)
- A Firebase project with Auth, Firestore, and FCM enabled
git clone https://github.com/ComradeMohan/192210400PDD.git- Set up your PHP server and MySQL instance.
- Import the database schema (
.sqlfiles underbackend/). - Configure the database connection in
backend/db.php. - Install any dependencies (see
vendor/).
- Open
frontend/(or your Android project) in Android Studio. - Link your Firebase project and drop
google-services.jsoninto the app module. - Enable Firebase Auth, Firestore, and FCM for the project.
| File | Purpose |
|---|---|
backend/db.php |
Database connection credentials |
google-services.json |
Firebase project configuration for the Android app |
- 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.
Contributions are welcome and appreciated.
- Fork this repository
- Create a feature branch β
git checkout -b feature-name - Commit your changes
- Push to your branch and open a Pull Request
If you run into an issue or have a feature request, please open an issue on this repository.