Skip to content
This repository was archived by the owner on Jun 3, 2026. It is now read-only.

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 SAMS — Smart Academic Management System

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.


📸 Overview

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.


🛠️ Tech Stack

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)

📁 Project Structure

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

🚀 Installation & Setup

Prerequisites

  • XAMPP (or any Apache + PHP + MySQL stack)
  • PHP 8.0+
  • MySQL / MariaDB

Steps

  1. 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\
  2. Create the database — open phpMyAdmin or MySQL CLI and import:

    mysql -u root < database.sql

    This creates the sams_db database with all required tables.

  3. Configure the base URL — edit app/config.php:

    define('BASE_URL', 'http://localhost/sams');

    Change this to your production domain when deploying.

  4. Start Apache & MySQL from the XAMPP Control Panel.

  5. Access the application:

    • Landing Page: http://localhost/sams/
    • Super Admin: http://localhost/sams/superadmin/

👥 User Roles

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

🧪 Demo Access

A pre-configured Demo Institution is available for quick testing.

Demo College Login (Local Testing Only)

URL: http://localhost/sams/demo/

Role Email 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.


✨ Key Features

🏢 Admin Module

  • 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

🍎 Teacher Module

  • 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

🎓 Student Module

  • 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

🔐 Super Admin

  • College Management — Register, activate/deactivate colleges
  • Platform Overview — Monitor all institutions from a single dashboard

🌍 Localization

  • Currency: Indian Rupee (₹) with bi-currency-rupee icons
  • Date Format: Standard Indian date formatting
  • Designed for Indian educational institutions

🔒 Security

  • 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

⚖️ License & Usage Terms

This project is licensed under the GNU General Public License v3.0 (GPLv3).

🚫 Commercial Restriction

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

📩 Contact & Support

For commercial licensing, custom feature development, or hosting assistance:


Built with ❤️ for academic excellence and efficient institution management.

About

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.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages