A production-style inventory management system built with Laravel 12, React, Inertia.js, and Tailwind CSS.
BizzSoft Inventory Management System V5 is a production-style inventory management application developed as a portfolio and software engineering learning project.
Version 5 represents the evolution of the earlier BizzSoft inventory system into a modern Laravel + React + Inertia.js application. The project combines a Laravel backend with a React-based frontend while keeping business rules, validation, authorization, database integrity, and application logic on the server side.
The system covers the complete inventory workflow including Products, Categories, Suppliers, Purchases, Sales, Reports, User Management, Dashboard, and Activity Logs.
The project is designed to demonstrate practical full-stack development skills, including application architecture, CRUD development, database relationships, business transactions, RBAC, audit logging, deployment, and modern React frontend development.
- Product Management
- Category Management
- Supplier Management
- Product search
- Category and supplier relationships
- Stock quantity tracking
- Reorder level tracking
- Low-stock monitoring
- Purchase transactions
- Automatic stock increase after purchase
- Purchase history
- Product relationship handling
- Stock reversal when a purchase transaction is deleted
- Database transactions for data integrity
- Sales transactions
- Automatic stock deduction
- Stock availability validation
- Prevention of negative stock
- Historical selling price recording
- Automatic line-total calculation
- Stock restoration when a sale is deleted/voided
- Database transactions for critical sales operations
- User creation and editing
- Role assignment
- Active / inactive account status
- Password reset
- User search and filtering
- Role-based permissions
- Laravel authentication
- Role-Based Access Control (RBAC)
- Database-driven roles and permissions
- Permission checks in controllers
- Blade/React authorization-aware UI
- Form Request validation
- Route Model Binding
- Server-side business logic
- Secure password hashing
The system records important user and business activities for accountability and auditing.
- Product activities
- Purchase activities
- Sales activities
- User Management activities
- Centralized activity logging services
- Audit trail support
- Business dashboard
- Product, category, supplier, sales, and purchase summaries
- Sales reports
- Purchase reports
- Inventory reports
- Low-stock reports
- Recent sales and purchase activity
- React-based frontend
- Inertia.js page navigation
- Reusable BizzSoft UI components
- Responsive layouts
- Search and interactive forms
- Dark / Light theme support
- Theme synchronization across public and authenticated pages
- Modern Tailwind CSS styling
| Category | Technology |
|---|---|
| Backend | Laravel 12 |
| Language | PHP 8.2 |
| Frontend | React |
| SPA Bridge | Inertia.js |
| Styling | Tailwind CSS |
| Database | MySQL |
| ORM | Eloquent ORM |
| Authentication | Laravel Authentication |
| Authorization | Database-driven RBAC |
| Validation | Laravel Form Requests |
| Architecture | MVC + React/Inertia frontend |
| Version Control | Git & GitHub |
| CI/CD | GitHub Actions |
| Deployment | Hostinger |
BizzSoft V5 follows a layered Laravel application structure with a React/Inertia frontend.
BizzSoft V5
│
┌──────────────┴──────────────┐
│ │
React Frontend Laravel Backend
+ Inertia.js │
│ │
│ Controllers / Requests
│ │
│ Services / Models
│ │
└──────────────┬──────────────┘
↓
MySQL
- MVC architecture
- React component-based frontend development
- Inertia.js integration
- Eloquent ORM
- Eloquent relationships
- Route Model Binding
- Form Request validation
validated()request handling- Database transactions using
DB::transaction() - Server-side business rules
- Database-driven RBAC
- Permission-based authorization
- Activity logging and audit trails
- Reusable frontend components
- Git/GitHub version control
- Automated deployment with GitHub Actions
The application enforces important inventory business rules on the server side.
- Purchasing a product automatically increases its stock.
- Selling a product automatically decreases its stock.
- Sales cannot reduce inventory below zero.
- Historical selling prices are preserved with sales transactions.
- Sales line totals are calculated from quantity × selling price.
- Deleting a purchase reverses its stock increase.
- Deleting/voiding a sale returns the sold quantity to stock.
- Critical purchase and sales operations are protected by database transactions.
- User permissions determine access to protected modules and actions.
BizzSoft V5 uses a database-driven authorization system rather than hard-coded role assumptions.
User
↓
Role
↓
Permissions
↓
Protected Modules / Actions
Example permission areas include:
- Dashboard
- Products
- Categories
- Suppliers
- Purchases
- Sales
- Reports
- Users
- Activity Logs
This allows the system to distinguish what an Administrator or Staff user is allowed to access.
Activity logging is implemented as part of the application's audit trail architecture.
The project includes reusable services for recording important actions, allowing business modules to produce consistent activity records without duplicating logging logic everywhere.
Current activity coverage includes Product, Purchase, Sales, and User Management operations.
The project is deployed to Hostinger and uses GitHub Actions for automated deployment.
The deployment workflow is triggered from the GitHub repository and performs the required application deployment steps on the production server.
Developer
↓
Git Commit / Push
↓
GitHub
↓
GitHub Actions
↓
Hostinger
↓
BizzSoft V5 Production
The repository contains portfolio screenshots showcasing the major areas of BizzSoft V5.
Business overview with inventory and transaction summaries.
Product management with pricing, stock, categories, suppliers, and reorder levels.
Purchase transactions with automatic inventory updates.
Sales transactions with stock validation, automatic deduction, and line totals.
User administration with roles, permissions, account status, and password management.
Sales, purchase, inventory, and low-stock reporting.
Audit history for important system operations.
git clone https://github.com/bizzcode-zzz/bizzsoft-v5-react.git
cd bizzsoft-v5-reactcomposer installnpm installcopy .env.example .envphp artisan key:generateUpdate .env with your local MySQL credentials.
Example:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bizzsoft
DB_USERNAME=root
DB_PASSWORD=php artisan migrate --seedphp artisan serveIn a second terminal:
npm run devOpen:
http://127.0.0.1:8000
Note: Demo credentials, if used, should be obtained from the project's seeders or local development configuration. Production credentials must never be committed to the repository.
app/
├── Http/
│ ├── Controllers/
│ │ ├── Auth/
│ │ ├── ActivityLogController.php
│ │ ├── CategoryController.php
│ │ ├── DashboardController.php
│ │ ├── ProductController.php
│ │ ├── PurchaseController.php
│ │ ├── ReportsController.php
│ │ ├── SalesController.php
│ │ ├── SupplierController.php
│ │ └── UserController.php
│ ├── Middleware/
│ └── Requests/
├── Models/
└── Services/
database/
├── migrations/
└── seeders/
resources/
├── css/
└── js/
├── Components/
├── Layouts/
├── Pages/
│ ├── ActivityLogs/
│ ├── Auth/
│ ├── Categories/
│ ├── Products/
│ ├── Profile/
│ ├── Purchases/
│ ├── Reports/
│ ├── Sales/
│ ├── Suppliers/
│ ├── Users/
│ ├── Dashboard.jsx
│ └── Welcome.jsx
├── app.jsx
└── bootstrap.js
routes/
├── auth.php
├── console.php
└── web.php
.github/
└── workflows/
└── deploy.yml
screenshots/
The project uses Laravel's testing infrastructure and PHPUnit for automated testing.
Quality practices include:
- Validation through Form Requests
- Server-side business rule enforcement
- Database transaction protection
- RBAC authorization checks
- Manual module QA
- Feature and unit testing support
- Production deployment verification
BizzSoft V5 is also part of an ongoing full-stack development learning journey.
The current V5 web application primarily uses Laravel + Inertia.js + React and does not require a REST API for its normal web workflow.
A future project will introduce Laravel REST APIs and a separate client application to demonstrate:
- REST API design
- JSON request/response handling
- API authentication
- CRUD through APIs
- Mobile/web client communication
- Third-party API integration
A future mobile client can consume the Laravel backend through REST APIs while sharing the same business data and backend services.
Firebase will be studied separately for use cases such as real-time applications, notifications, and mobile-focused services where appropriate.
- Advanced analytics and charts
- PDF and Excel report exports
- Barcode / QR code support
- Stock movement history
- Additional automated tests
- API testing
- Expanded CI/CD practices
- Additional deployment and infrastructure experience
Full-Stack Web Developer — BizzSoft
BizzSoft V5 is a hands-on software engineering project built to demonstrate practical full-stack development skills through the design, implementation, testing, deployment, and continuous improvement of a real-world inventory management system.
- PHP & Laravel
- React
- Inertia.js
- Tailwind CSS
- MySQL
- Eloquent ORM
- MVC architecture
- REST API concepts
- Authentication & authorization
- RBAC
- Form Request validation
- Database transactions
- Business logic design
- Activity logging / audit trails
- Git & GitHub
- GitHub Actions / CI/CD
- Hostinger deployment
https://github.com/bizzcode-zzz
This project is available under the MIT License.
BizzSoft V5 is more than a CRUD application. It is a continuing full-stack engineering project focused on understanding how frontend interfaces, backend architecture, databases, authorization, business rules, testing, and deployment work together as one system.






