Skip to content

Repository files navigation

ERP Accounting & Management System (Laravel 10)

Developed by Khawer Ali

A modular, multi-role accounting and business management system built on Laravel 10.31.0 and PHP 8.1.13, integrated with Stripe Connect for split payments, with secure authentication using Laravel Sanctum.


🔰 Project Overview

This ERP system is tailored for businesses with multiple user types (Admin, User, Employee), offering core accounting functionalities, customizable branch-based data access. Designed for high performance, extensibility, and API-driven architecture.


🎯 Key Features

  • 🧑‍💼 Role-Based Access Control (RBAC):

    • Admin (Superuser, Web Panel)
    • User (Business Owner)
    • Employee (Sub-users under each Business)
  • 🔁 Modular Structure:

    • Clean separation of Controllers, Repositories, Filters, Requests, and Models
    • Trait-based exception logging and foreign key checking
  • 💳 Stripe Payment Integration:

    • Stripe Connect for split payments between platform and connected accounts
  • 📡 RESTful API Design:

    • Consistent JSON responses using helper methods like api_success, api_error, api_successWithData
    • API error handling via centralized HandlesExceptionLog trait
  • 🔐 Secure Authentication:

    • Laravel Sanctum for token-based API authentication
  • 🏢 Multi-Tenant Structure:

    • parent_id pattern used across all data models to segregate company data
    • Branch-level filters to allow business-level scoping
  • 📁 File Uploads & Document Handling


🛠 Tech Stack

Area Technology
Backend Framework Laravel 10.31.0
PHP Version PHP 8.1.13
Authentication Laravel Sanctum
Payment Gateway Stripe PHP SDK 9.6
Database MySQL / MariaDB
API Response Custom helper methods
Dev Tools Postman, Laravel Tinker

📂 Project Architecture

  • app/Http/Controllers – All HTTP controllers, grouped by module (e.g., CommissionMaster, Contact)
  • app/Repositories – Repository pattern for model abstraction
  • app/Filters – Used to apply conditional queries based on request data
  • app/Models – Eloquent models with relationships and scopes
  • app/Http/Requests – Form request validation classes
  • app/Core/Traits – Reusable logic like logging and foreign key checks

🧪 Testing APIs

Recommended: Use Postman with the provided collection
Set Authorization: Bearer {token} in headers
Use account number 000123456789 for testing

API Endpoints Overview total 424:

Breakdown of USER endpoints: total of 386 endpoints

Authentication & Password Recovery (No Auth): 9 endpoints Auth routes: 4 endpoints

Password recovery: 3 endpoints

ID recovery: 2 endpoints

Authenticated Routes (Main Application): 377 endpoints These are grouped under middleware and organized into various modules:

Account/User Management: 5 endpoints

Master Data (Warehouse, Classification, Currency, etc.): ~85 endpoints

Party Ledger & Chart of Accounts: ~25 endpoints

Administration (User Maintenance, Branch, Subscriptions): ~45 endpoints

Transaction Modules (Vouchers, Payments, Banking): ~180 endpoints

Processes (Approvals, Locks, PDC): ~20 endpoints

Reports & General Utilities: ~17 endpoints

Public General Routes: 16 endpoints

Breakdown of ADMIN endpoints: total of 38 endpoints

Authentication & Password Recovery (No Auth): 5 endpoints Auth routes: 2 endpoints (login, logout)

Password recovery: 3 endpoints (verify-email, verify-code, update-password)

Protected Admin Routes: 33 endpoints These require admin authentication and are organized into:

Account Management: 4 endpoints (index, update, destroy, change-password)

User Management: 4 endpoints (index, show, status, branches)

Subscription Management: 1 endpoint (index)

Support Type Management: 5 endpoints (index, show, create, update, destroy)

Package Management: 7 endpoints (index, show, create, update, status, destroy, reject)

Notification Management: 2 endpoints (index, update)

Feedback Management: 4 endpoints (index, types, show, create)

Home & Dashboard: 2 endpoints (home, charts)

Unlock Request Management: 3 endpoints (index, show, status)

About

This ERP system is tailored for businesses with multiple user types (Admin, User, Employee), offering core accounting functionalities, customizable branch-based data access. Designed for high performance, extensibility, and API-driven architecture

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages