Skip to content

addex12/School-CRM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🏫 School CRM System

DeepScan grade DeepSource DeepSource GitHub stars GitHub forks GitHub last commit GitHub contributors GitHub issues GitHub pull requests GitHub releases Apache 2.0 Website Demo Twitter Follow


Overview

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.


πŸ“¦ Release Version

Current Production Release:

See all releases and changelogs here:
πŸ‘‰ https://github.com/addex12/School-CRM/releases/


πŸš€ Features

User Management

  • 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

Survey Management

  • 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

Ticketing & Support

  • 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

Communication

  • Internal messaging/chat system
  • Announcements (public or targeted to roles)
  • Bulk email to user categories or imported emails (CSV)
  • Feedback submission and management

Dashboard & Analytics

  • 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

Classes & Curriculum

  • Manage classes, sections, curriculums, and class levels
  • Assign students and teachers to classes/sections

Audit & Logs

  • Audit trail and system logs for accountability
  • Activity logs, error logs, and log clearing (manual/scheduled)
  • Downloadable logs and backup

Backup & Restore

  • Full system backup (database + files) and restore
  • Downloadable backup archives

Security & Best Practices

  • CSRF protection, input validation, and prepared statements
  • Session management and authentication
  • Apache 2.0 licensed

Developer & Extensibility

  • Modular codebase (MVC-inspired)
  • RESTful backend API (Node.js/Express for AI integration)
  • Easy to extend with new modules and integrations

πŸ“¦ Folder Structure

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

πŸ› οΈ Tech Stack

  • 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

πŸ“‹ Installation

  1. Clone the repository:

    git clone https://github.com/addex12/School-CRM.git
  2. 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.
  3. Set up Apache/Nginx:

    • Point your web root to /School-CRM/.
    • Ensure mod_rewrite is enabled for .htaccess.
  4. Set file permissions:

    • chmod -R 755 backups logs uploads
  5. (Optional) Configure Node.js backend:

    • cd backend && npm install && node server.js
  6. Access the system locally:

    • Visit http://localhost/School-CRM/ in your browser.

🌍 Hosting on a Website (Production Deployment)

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:

  1. Upload Files:

    • Upload all files and folders from the School-CRM directory to your hosting server's web root (e.g., public_html/ or www/).
  2. 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.
  3. Configure Database Connection:

    • Edit /includes/config.php and set your hosting database credentials.
  4. Set Permissions:

    • Ensure backups, logs, and uploads folders are writable (755 or 775).
  5. Domain Setup:

    • Point your domain or subdomain to the folder where you uploaded School CRM.
  6. Access the System:

    • Visit your domain (e.g., https://yourdomain.com/) to access School CRM.

Tech Stack:

  • PHP (7.4+), MySQL/MariaDB, JavaScript, JSON, AJAX
  • Compatible with phpMyAdmin for database management

πŸ“Έ Screenshots

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 a screenshots/ directory at the root of your project and upload your images there.

Screenshots of the Adugna School CRM System in action:

School CRM Dashboard

Survey Statistics

Survey Builder

Login Page

Manage Users

Survey Responses

Admin Messaging

Feedback Management

Admin Dashboard

Bulk Email

Announcements

Active Users


πŸ‘€ Developer


πŸ“„ License

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

🀝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md and CODE_OF_CONDUCT.md.


🌐 Links


Β© Adugna Gizaw. School CRM System. All rights reserved.

About

School CRM System handles all the customer relations related issues inlcuding survey management, bulk emails, and others.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •