Inventory Management System

Overview

The Inventory Management System centralizes control of suppliers, purchases, and multi-location inventory with real-time stock tracking. It enables granular management of items, suppliers, and procurement workflows while providing actionable insights through automated stock alerts, inventory valuation reports, trend analysis (monthly comparisons), and visual analytics of best-selling products/materials. Designed for operational agility, the system empowers data-driven decisions across procurement, waste reduction, and inventory optimization.

Technologies Used

Back-end

Laravel (PHP)

Database

MySQL (Secure & relational data storage)

Front-end

Vue.js (Inertia.js), Tailwind CSS

API Communication

Inertia.js

Security

Authentication (Laravel Breeze), Data Encryption

Features & Functionalities

System Architecture

The system follows an MVC (Model-View-Controller) architecture using Laravel for backend logic and Vue.js with Inertia.js for a seamless single-page application (SPA) frontend experience. The database is structured with normalized tables for efficient data handling.

Database Design

To ensure efficient data management, the database schema follows a relational model.

🔹 Main Database Tables

users

Stores user information and roles.

suppliers

Contains supplier details.

purchases

Tracks purchase invoices and associated items.

Products

Contains Product details

Items

Contains Items details

Products_components

Pivot table between (Products-items) to store the components (ingredients) for each product.

inventory

Stores inventory items with stock levels.

Inventory_logs

Tracks item usage (raw materials/products) across interactions like orders, waste, adjustments, and purchases.

📌 Example Table: inventory_logs

id

Type: INT

Description: Primary key

itemable

Type: MORPHS

Description: Polymorphic relation (itemable_id, itemable_type)

quantity_used

Type: DECIMAL(10,2)

Description: Quantity consumed/adjusted

source

Type: ENUM

Description: Interaction type (order, waste-gift, etc.)

used_at

Type: TIMESTAMP

Description: Timestamp of usage

Main Routes

/purchase

Method: GET

Description: List all purchases

/purchase/{id}

Method: GET

Description: View single purchase details

/purchase

Method: POST

Description: Create new purchase

/item/{id}

Method: PUT/PATCH

Description: Update an item

/item/{id}

Method: DELETE

Description: Delete an Item

/product/{id}

Method: GET

Description: View product details, components, and cost

/inventory/{id}/adjust

Method: POST

Description: Adjust inventory levels

/supplier

Method: POST

Description: Create new supplier

/waste-gift

Method: POST

Description: Record waste/gift transaction

Role & Contributions

Achievements & Impact

Future Enhancements

◀️ Previous Project Next Project ▶️
🛠️ Technical Skills 🧩 Problem Solving