Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A modern, full-featured school payment management system built with Laravel 12, Inertia.js, React 19, and TypeScript. Designed for efficient handling of student fee structures, payment processing, and financial reporting with role-based access control.

License

Notifications You must be signed in to change notification settings

mark-john-ignacio/school-cashier-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

75 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

School Cashier System

🏫 School Cashier System

A modern, full-featured school payment management system built with Laravel 12, Inertia.js, React 19, and TypeScript. Designed for efficient handling of student fee structures, payment processing, and financial reporting with role-based access control.

Laravel React TypeScript Inertia.js Tailwind CSS


✨ Features

πŸ’° Payment Management

  • Quick Payment Processing - Streamlined interface for recording student payments
  • Payment History - Comprehensive transaction logs with search and filtering
  • Receipt Generation - Professional PDF receipts with school branding
  • Multiple Payment Methods - Cash, check, online payment support

πŸ‘₯ Student Management

  • Student Database - Complete student information with grade level and section assignment
  • Fee Assignment - Flexible fee structure assignment per grade level
  • Balance Tracking - Real-time outstanding balance calculations
  • Search & Filter - Advanced search by name, student ID, grade, or section

πŸ’΅ Fee Structure Management

  • Dynamic Fee Setup - Create and manage various fee types (tuition, misc., etc.)
  • Grade-Based Pricing - Different fee structures per grade level
  • Academic Year Management - Organize fees by school year
  • Fee Templates - Reusable fee structures for efficiency

πŸ“Š Reporting & Analytics

  • Financial Reports - Daily, monthly, and custom date range reports
  • Collection Summary - Track collection performance by cashier
  • Outstanding Reports - Monitor unpaid balances by grade/section
  • Export Capabilities - CSV/PDF export for accounting integration

πŸ” Role-Based Access Control

  • Admin - Full system access, user management, system settings
  • Manager - View all reports, approve refunds, manage fee structures
  • Accountant - Access financial reports, reconciliation tools
  • Cashier - Process payments, generate receipts, view assigned students

🎨 Modern UI/UX

  • Responsive Design - Works seamlessly on desktop, tablet, and mobile
  • Dark/Light Mode - System and user-preference theme support
  • Accessibility - WCAG compliant with keyboard navigation
  • Real-time Validation - Instant form feedback for better UX

πŸ› οΈ Tech Stack

Backend

  • Laravel 12 - Latest PHP framework with modern features
  • SQLite - Lightweight database (easily switchable to MySQL/PostgreSQL)
  • Spatie Laravel Permission - Robust role and permission management
  • Inertia.js Server - Server-side rendering capabilities

Frontend

  • React 19 - Latest React with modern features
  • TypeScript 5.7 - Type-safe development
  • Inertia.js - SPA without API complexity
  • Vite 7 - Lightning-fast development and build tool
  • Tailwind CSS 4 - Utility-first styling with custom design system
  • Radix UI - Accessible component primitives
  • shadcn/ui patterns - Beautiful, reusable component patterns
  • TanStack Table - Powerful data table management
  • Recharts - Beautiful, responsive charts

DevOps & Tooling

  • Laravel Wayfinder - Type-safe routing with auto-generated helpers
  • Pest PHP - Elegant testing framework
  • ESLint & Prettier - Code quality and formatting
  • Docusaurus - Comprehensive documentation site
  • Concurrently - Multi-process development workflow

πŸš€ Quick Start

Prerequisites

  • PHP 8.2 or higher
  • Composer 2.x
  • Node.js 20.x or higher
  • npm 10.x or higher

Installation

  1. Clone the repository
git clone https://github.com/mark-john-ignacio/school-cashier-system.git
cd school-cashier-system
  1. Install PHP dependencies
composer install
  1. Install Node dependencies
npm install
  1. Set up environment
# Copy environment file
Copy-Item .env.example .env

# Generate application key
php artisan key:generate

# Create SQLite database
New-Item -Path database -Name database.sqlite -ItemType File -Force
  1. Run migrations and seed demo data
php artisan migrate --seed
  1. Start the development server
composer run dev

The application will be available at: http://localhost:8000


🎭 Demo Accounts

After seeding, you can log in with these accounts:

Role Email Password Description
Admin [email protected] password Full system access
Cashier [email protected] password Payment processing
Manager [email protected] password Reports and oversight
Accountant [email protected] password Financial reports

Note: All demo accounts use password as the password. Change these in production!


οΏ½ Code Quality

This project emphasizes clean, maintainable code with comprehensive documentation:

Type Safety

  • Typed Routes - Auto-generated TypeScript helpers via Laravel Wayfinder
  • Strict TypeScript - Full type coverage with no any types in business logic
  • Form Type Safety - Strongly typed Inertia form helpers for all endpoints

Documentation

  • PHPDoc Comments - Comprehensive documentation for all models and controllers
  • JSDoc Comments - Detailed component and function documentation
  • Inline Explanations - Complex logic explained with inline comments
  • Usage Examples - Code examples in documentation for common patterns

Best Practices

  • Centralized Constants - Shared values defined in typed constant files
  • DRY Principles - Reusable components and utility functions
  • SOLID Principles - Clean architecture with single responsibility
  • Consistent Naming - Clear, self-documenting variable and function names

Developer Experience

  • Comprehensive README - Quick start, features, and deployment guides
  • Contributing Guidelines - Clear standards for code contributions
  • Security Policy - Vulnerability reporting and security best practices
  • Development Guide - Architecture patterns and common workflows

οΏ½πŸ“– Documentation

Comprehensive documentation is available via Docusaurus:

# Start documentation site
npm run docs:dev

Visit: http://localhost:3000

Documentation Sections:

  • πŸ“ Architecture - System design and patterns
  • πŸ’» Developer Guide - Contributing and code standards
  • πŸ”„ Workflows - Business process flows
  • 🚧 Implementation - Project status and roadmap
  • ✨ Features - Detailed feature documentation

πŸ§ͺ Testing

# Run test suite
composer test

# Run with coverage
composer test -- --coverage

🎨 Development Workflows

Standard Development (CSR)

composer run dev

Runs: PHP server + Queue worker + Vite dev server

SSR Development

composer run dev:ssr

Runs: PHP server + Queue worker + Vite SSR + Laravel Pail logs

Code Quality

# Lint JavaScript/TypeScript
npm run lint

# Format code
npm run format

# Check formatting
npm run format:check

# Type check
npm run types

# PHP formatting (Laravel Pint)
./vendor/bin/pint

Building for Production

# Build client-side assets
npm run build

# Build with SSR
npm run build:ssr

πŸ“ Project Structure

school-cashier-system/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ Http/Controllers/        # Request handlers
β”‚   β”œβ”€β”€ Models/                  # Eloquent models
β”‚   └── Providers/               # Service providers
β”œβ”€β”€ database/
β”‚   β”œβ”€β”€ factories/               # Model factories
β”‚   β”œβ”€β”€ migrations/              # Database schema
β”‚   └── seeders/                 # Data seeders
β”œβ”€β”€ docs/                        # Docusaurus documentation
β”œβ”€β”€ resources/
β”‚   β”œβ”€β”€ js/
β”‚   β”‚   β”œβ”€β”€ actions/            # Auto-generated controller actions
β”‚   β”‚   β”œβ”€β”€ components/         # React components
β”‚   β”‚   β”œβ”€β”€ hooks/              # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ layouts/            # Page layouts
β”‚   β”‚   β”œβ”€β”€ pages/              # Inertia pages
β”‚   β”‚   └── routes/             # Auto-generated route helpers
β”‚   └── views/                  # Blade templates
β”œβ”€β”€ routes/
β”‚   β”œβ”€β”€ auth.php                # Authentication routes
β”‚   β”œβ”€β”€ settings.php            # Settings routes
β”‚   └── web.php                 # Main routes
└── tests/                      # Pest tests

🀝 Contributing

Contributions are welcome! Please read CONTRIBUTING.md for details on the code of conduct and submission process.

Development Guidelines:

  1. Follow Laravel and React best practices
  2. Write tests for new features
  3. Ensure TypeScript types are properly defined
  4. Run linters before committing
  5. Update documentation for significant changes

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ”’ Security

If you discover any security-related issues, please email [email protected] instead of using the issue tracker. See SECURITY.md for more details.


πŸ“¬ Contact

Mark John Ignacio


πŸ™ Acknowledgments


πŸ“Έ Screenshots

Dashboard

Dashboard View

Payment Processing

Payment Processing

Student Management

Student Management


πŸ—ΊοΈ Roadmap

  • Multi-currency support
  • SMS notifications for payments
  • Online payment gateway integration
  • Mobile app (React Native)
  • Barcode/QR code student ID scanning
  • Automated report scheduling
  • Advanced analytics dashboard

Made with ❀️ for educational institutions

About

A modern, full-featured school payment management system built with Laravel 12, Inertia.js, React 19, and TypeScript. Designed for efficient handling of student fee structures, payment processing, and financial reporting with role-based access control.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published