A multi-tenant, role-based web application for managing academic institutions. SAMS provides separate portals for Super Admins, College Admins, Teachers, and Students — all from a single, centralized platform.
SAMS is a SaaS-style academic management system where multiple colleges can register, each receiving their own isolated portal with admin, teacher, and student dashboards. It features attendance tracking, fee management, grading, announcements, and more.
| Layer | Technology |
|---|---|
| Backend | PHP 8.x (Vanilla, no framework) |
| Database | MySQL / MariaDB (via PDO) |
| Frontend | HTML5, CSS3, JavaScript (ES6) |
| UI | Bootstrap 5.3, Bootstrap Icons |
| Charts | Chart.js |
| Fonts | Google Fonts (Inter) |
| Server | Apache (XAMPP recommended) |
| Security | BCrypt password hashing, Role-based Access Control (RBAC) |
sams/
├── app/ # Core config & helper functions
│ ├── config.php # DB connection, BASE_URL, tenant helpers
│ └── functions.php # Sanitization, messaging, role checks
├── admin/ # College Admin portal
│ ├── includes/ # Header & footer templates
│ ├── dashboard.php # Admin dashboard with charts
│ ├── students.php # Student CRUD
│ ├── teachers.php # Teacher CRUD
│ ├── classes.php # Class management
│ ├── subjects.php # Subject-teacher mapping
│ ├── fees.php # Fee management
│ ├── announcements.php # Broadcast system
│ └── settings.php # Admin & institution settings
├── teacher/ # Teacher portal
│ ├── includes/ # Header & footer templates
│ ├── dashboard.php # Teacher workspace
│ ├── attendance.php # Attendance marking
│ ├── marks.php # Exam & grading
│ ├── students.php # Student roster
│ └── settings.php # Teacher profile settings
├── student/ # Student portal
│ ├── includes/ # Header & footer templates
│ ├── dashboard.php # Student overview
│ ├── attendance.php # Attendance view
│ ├── marks.php # Grades & results
│ ├── fees.php # Fee status
│ └── timetable.php # Subjects & coursework
├── superadmin/ # Platform-level super admin
│ ├── index.php # Super admin login
│ └── dashboard.php # Manage all colleges
├── assets/
│ └── css/style.css # Custom global styles
├── index.php # Landing page & college login
├── signup.php # New college registration
├── logout.php # Session destroyer
├── database.sql # Full database schema
└── .htaccess # URL rewriting rules
- XAMPP (or any Apache + PHP + MySQL stack)
- PHP 8.0+
- MySQL / MariaDB
-
Clone or copy the project into your web server directory:
git clone https://github.com/pkbehera-dev/sams.git # Or copy to: C:\xampp\htdocs\sams\ -
Create the database — open phpMyAdmin or MySQL CLI and import:
mysql -u root < database.sqlThis creates the
sams_dbdatabase with all required tables. -
Configure the base URL — edit
app/config.php:define('BASE_URL', 'http://localhost/sams');
Change this to your production domain when deploying.
-
Start Apache & MySQL from the XAMPP Control Panel.
-
Access the application:
- Landing Page:
http://localhost/sams/ - Super Admin:
http://localhost/sams/superadmin/
- Landing Page:
| Role | Access |
|---|---|
| Super Admin | Platform-level management — create/manage all colleges |
| Admin | College-level management — students, teachers, fees, classes |
| Teacher | Attendance, grading, assignments, student rosters |
| Student | View attendance, grades, fees, announcements, coursework |
A pre-configured Demo Institution is available for quick testing.
URL: http://localhost/sams/demo/
| Role | Password | |
|---|---|---|
| Admin | admin@demo.com |
demo123 |
| Teacher | teacher@demo.com |
demo123 |
| Student | student@demo.com |
demo123 |
Note: Demo credentials are shown on the demo login page for convenience.
⚠️ Important: Super Admin credentials are not listed here for security reasons. If you are deploying this system, set up the Super Admin account directly in the database and never commit credentials to version control.
- Dashboard — Real-time stats with Chart.js registration trends
- Student Management — Full CRUD with enrollment, contact, and class assignment
- Teacher Management — Custom Teacher IDs, CRUD, and credential management
- Class & Subject Management — Create classes with sections, map subjects to teachers
- Fee Management — Issue, track, and record payments (Paid/Partial/Pending)
- Announcements — Role-targeted broadcast system
- Settings — Update admin profile and institution details
- Dashboard — Quick access to assigned classes and announcements
- Attendance — Date-wise, subject-specific attendance marking
- Grading — Create exams and upload marks with percentage tracking
- Assignments — Post coursework with due-date tracking
- Settings — Self-service profile editing
- Dashboard — Attendance health, fee alerts, and announcements at a glance
- Grades & Results — Exam marks with letter grade conversion (A+, A, B, etc.)
- Attendance — Subject-wise and overall attendance breakdown
- Fee Status — Transaction history and balance monitoring
- Subjects & Work — View assigned subjects, teachers, and pending assignments
- College Management — Register, activate/deactivate colleges
- Platform Overview — Monitor all institutions from a single dashboard
- Currency: Indian Rupee (₹) with
bi-currency-rupeeicons - Date Format: Standard Indian date formatting
- Designed for Indian educational institutions
- Password Hashing: BCrypt via
password_hash()/password_verify() - Role-Based Access Control: Each portal validates user role on every request
- Input Sanitization: All user inputs are sanitized via
htmlspecialchars() - Prepared Statements: All database queries use PDO prepared statements (SQL injection safe)
- Session Management: Secure session handling with role enforcement
This project is licensed under the GNU General Public License v3.0 (GPLv3).
- Personal/Educational Use: You are free to download, modify, and use this software for personal projects, academic research, or internal testing.
- Commercial Use: This software cannot be used for commercial purposes (including but not limited to: selling it as a service, using it for a for-profit institution, or redistribution for profit) without an explicit commercial license agreement from the developer.
For commercial licensing, custom feature development, or hosting assistance:
- Email: contact@pkbehera.in
Built with ❤️ for academic excellence and efficient institution management.