Skip to content

infinity-decoder/Shiori

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

76 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‘¨β€πŸ’»Author: INFINITY DECODER

GitHub Kaggle LinkedIn
Facebook Coursera Website profile Email


πŸ“š Shiori β€” Student Management System

Shiori is a modern, lightweight, and secure Student Information System (SIS) built with vanilla PHP and a clean MVC architecture. It's designed for schools and educational institutions that need a fast, simple, and reliable solution without the overhead of large frameworks.


GitHub release GitHub release date GitHub last commit

Download First Release v 1.0

Contributors Forks Stargazers Issues License

πŸš€ Features

  • βœ… Student Management: Add, edit, delete, search, and view student records
  • βœ… Photo Management: Upload student photos with automatic thumbnail generation
  • βœ… CSV Import/Export: Bulk import students from CSV files
  • βœ… Dynamic Fields: Create custom fields (text, select, radio, etc.)
  • βœ… Lookup Management: Manage classes, sections, sessions, categories
  • βœ… User Management: Multi-role support (Super Admin, Admin, Staff, Viewer)
  • βœ… Activity Logging: Track all CRUD operations
  • βœ… Password Security: Mandatory password changes, strength validation
  • βœ… Database Backup: One-click MySQL database backup
  • βœ… Responsive Design: Mobile-friendly Bootstrap 5 interface
  • βœ… Installer Wizard: installer for easy setup

(back to top)

πŸ“¦ Installation

Option 1: Using the Installer (Recommended)

  1. Clone or Download the Repository

    git clone https://github.com/infinity-decoder/Shiori.git
    cd Shiori
  2. Configure Your Web Server

    • Laragon/XAMPP: Place the Shiori folder in your www or htdocs directory
    • Production: Set your web server document root to the /public folder
  3. Set Permissions

    chmod -R 755 public/uploads/
    chmod -R 755 storage/
  4. Access the Installer

    • Navigate to: http://localhost/Shiori/public or your configured URL
    • The installer will automatically launch if the database is not configured
    • Follow the 3-step wizard:
      • Step 1: Database Configuration
      • Step 2: Super Admin Account
      • Step 3: Review & Install
  5. Login

    • Use the credentials you created during installation

Option 2: Manual Installation

  1. Create Database

    CREATE DATABASE shiori_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  2. Import Schema

    mysql -u root -p shiori_db < database/schema.sql
  3. Configure Database

    Create config/database.php:

    <?php
    return [
        'host'    => 'localhost',
        'port'    => 3306,
        'name'    => 'shiori_db',
        'user'    => 'root',
        'pass'    => '',
        'charset' => 'utf8mb4',
    ];
  4. Configure Application

    Edit config/app.php:

    <?php
    return [
        'name'     => 'Shiori',
        'base_url' => 'http://localhost/Shiori/public',
        'debug'    => false,
    ];

Base URL Configuration

The base_url in config/app.php must match your server setup:

Local Development (Laragon/XAMPP):

'base_url' => 'http://localhost/Shiori/public',

Production (Domain Root):

'base_url' => 'https://yourdomain.com',

Production (Subdirectory):

'base_url' => 'https://yourdomain.com/shiori',

(back to top)


πŸ‘€ User Roles & Permissions

Role Permissions
Super Admin Full access - manage users, fields, lookups, students, settings
Admin Manage students, lookups, view activity logs
Staff Add/edit students, view records
Viewer Read-only access to student records

πŸ“ Project Structure

Shiori/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ Controllers/       # Request handlers
β”‚   β”œβ”€β”€ Core/             # Router, Auth, CSRF, DB
β”‚   β”œβ”€β”€ Models/           # Database models
β”‚   β”œβ”€β”€ Services/         # Business logic
β”‚   β”œβ”€β”€ Views/            # HTML templates
β”‚   └── Helpers/          # Utility functions
β”œβ”€β”€ config/
β”‚   β”œβ”€β”€ app.php           # Application settings
β”‚   └── database.php      # Database credentials (auto-generated)
β”œβ”€β”€ database/
β”‚   └── schema.sql        # Database schema
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ assets/           # CSS, JS, images, fonts
β”‚   β”œβ”€β”€ uploads/          # Student photos (writable)
β”‚   └── index.php         # Front controller
└── storage/              # Logs and temporary files

(back to top)

πŸ“Έ Screenshots

Logo

Installer

login

(back to top)

Dashboard

Students Record

search record

(back to top)

Add record

Import Csv

Manage lookup

(back to top)

Manage Fields

Settings

user management

(back to top)

record view


🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

[!IMPORTANT]

contrib.rocks image

(back to top)


πŸ“„ License

This project is open-source and available under the MIT License.


πŸ™ Acknowledgments

  • Bootstrap Team for the amazing UI framework
  • Chart.js for beautiful charts
  • SweetAlert2 for elegant alerts
  • All contributors and testers

(back to top)

Made with ❀️ by INFINITY DECODER

⭐ Star this repo if you find it helpful!

About

Shiori is a modern, lightweight, and secure Student Information System

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors