School CRM is a modern, full-featured, open-source School Management and CRM system built with PHP, MySQL, and JavaScript. It is designed for schools, colleges, and educational institutions to manage users, surveys, tickets, feedback, announcements, knowledge base, and more, with a beautiful, responsive, and interactive UI.
See all releases and changelogs here:
π https://github.com/addex12/School-CRM/releases/
- Role-based access control (Admin, Teacher, Student, Parent, etc.)
- Add, edit, delete, and bulk import users (CSV)
- Active/online user tracking and management
- User profile management and password reset
- Bulk actions: status, role, export, delete
- Create, edit, and manage surveys with categories and roles
- Assign surveys to specific roles or make public
- Survey builder with drag-and-drop (JS)
- Survey statistics, participation charts, and export
- User dashboard for available, completed, and pending surveys
- Survey responses view and export
- Support ticket system for users (students, parents, teachers)
- Admin ticket management: assign, resolve, close, delete
- Ticket responses and status tracking
- Knowledge base for self-service support
- Internal messaging/chat system
- Announcements (public or targeted to roles)
- Bulk email to user categories or imported emails (CSV)
- Feedback submission and management
- ERPNext-inspired, responsive dashboards for users and admins
- Real-time stats: students, teachers, parents, users, tickets, surveys
- Recent activity logs, feedback, and tickets
- Interactive charts (Chart.js) for survey participation, feedback ratings, ticket status
- Manage classes, sections, curriculums, and class levels
- Assign students and teachers to classes/sections
- Audit trail and system logs for accountability
- Activity logs, error logs, and log clearing (manual/scheduled)
- Downloadable logs and backup
- Full system backup (database + files) and restore
- Downloadable backup archives
- CSRF protection, input validation, and prepared statements
- Session management and authentication
- Apache 2.0 licensed
- Modular codebase (MVC-inspired)
- RESTful backend API (Node.js/Express for AI integration)
- Easy to extend with new modules and integrations
School-CRM/
βββ admin/ # Admin panel, dashboards, management modules
βββ assets/ # CSS, JS, images, icons
βββ backend/ # Node.js/Express backend for AI/API
βββ includes/ # Shared PHP includes (auth, config, db, etc.)
βββ migrations/ # SQL migration scripts
βββ user/ # User-facing dashboard and modules
βββ backups/ # System backup archives
βββ logs/ # System and activity logs
βββ config/ # JSON configs for dashboard, sidebar, etc.
βββ LICENSE # Apache 2.0 License
βββ README.md # This file
βββ ... # Other PHP entry points and scripts
- PHP 7.4+ (Backend)
- MySQL/MariaDB (Database)
- JavaScript (Frontend, AJAX, Chart.js)
- Node.js/Express (AI/REST API integration)
- HTML5, CSS3 (Responsive, adugna-inspired UI)
- FontAwesome, Bootstrap Icons
-
Clone the repository:
git clone https://github.com/addex12/School-CRM.git
-
Configure your database:
- Import
db.sql
into MySQL/MariaDB using your preferred tool (e.g., phpMyAdmin or MySQL CLI). - Update
/includes/config.php
with your DB credentials.
- Import
-
Set up Apache/Nginx:
- Point your web root to
/School-CRM/
. - Ensure
mod_rewrite
is enabled for.htaccess
.
- Point your web root to
-
Set file permissions:
chmod -R 755 backups logs uploads
-
(Optional) Configure Node.js backend:
cd backend && npm install && node server.js
-
Access the system locally:
- Visit
http://localhost/School-CRM/
in your browser.
- Visit
You can host School CRM on any standard web hosting that supports PHP and MySQL/MariaDB (e.g., cPanel, Plesk, shared hosting, VPS, or cloud server).
Steps:
-
Upload Files:
- Upload all files and folders from the
School-CRM
directory to your hosting server's web root (e.g.,public_html/
orwww/
).
- Upload all files and folders from the
-
Create Database:
- Use your hosting control panel (e.g., cPanel's MySQL Databases or phpMyAdmin) to create a new database and user.
- Import
db.sql
into the new database using phpMyAdmin.
-
Configure Database Connection:
- Edit
/includes/config.php
and set your hosting database credentials.
- Edit
-
Set Permissions:
- Ensure
backups
,logs
, anduploads
folders are writable (755
or775
).
- Ensure
-
Domain Setup:
- Point your domain or subdomain to the folder where you uploaded School CRM.
-
Access the System:
- Visit your domain (e.g.,
https://yourdomain.com/
) to access School CRM.
- Visit your domain (e.g.,
Tech Stack:
- PHP (7.4+), MySQL/MariaDB, JavaScript, JSON, AJAX
- Compatible with phpMyAdmin for database management
Note: If you see a 404 error for screenshots, make sure the
screenshots/
folder and the referenced images (e.g.,dashboard.png
,user-management.png
, etc.) exist in your repository.
To add screenshots, create ascreenshots/
directory at the root of your project and upload your images there.
Screenshots of the Adugna School CRM System in action:
- Adugna Gizaw
- GitHub
- Email: [email protected]
This project is licensed under the Apache License 2.0.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
... (full license text in LICENSE file) ...
Contributions are welcome! Please see CONTRIBUTING.md and CODE_OF_CONDUCT.md.
Β© Adugna Gizaw. School CRM System. All rights reserved.