Skip to content

iamdenzen/Warehouse-Management-System

Repository files navigation

PickLight

Smart warehouse picking system built with Laravel, Livewire, and Filament.

Overview

PickLight is a warehouse-assisted picking solution that guides packers through delivery note processing using RFID authentication, illuminated shelf slots, OLED displays, weight validation, DHL shipping labels, and Xentral ERP integration.

The system is designed for multi-station warehouse environments where employees process delivery notes quickly and accurately with minimal manual input.


Features

Warehouse Workstations

  • RFID-based packer authentication
  • Station-specific kiosk interface
  • Delivery note scanning
  • Guided picking workflow
  • Weight validation before shipment
  • Session persistence and resume functionality
  • Automatic logout after inactivity
  • Event logging and activity tracking

Administration

  • User management
  • RFID card management
  • Product management
  • Shelf and slot management
  • Station management
  • Printer management
  • Email recipient management
  • Delivery note monitoring
  • Event monitoring
  • Hardware diagnostics

Hardware Integration

  • WLED LED controllers (ESP32)
  • OLED display controllers (ESP32)
  • Scale controllers (ESP32)
  • Hardware testing console

External Integrations

  • Xentral ERP
  • DHL Shipping API
  • PrintNode
  • SMTP Email Notifications

Technology Stack

Backend

  • PHP 8.3+
  • Laravel 13
  • MySQL

Frontend

  • Livewire 4
  • Blade
  • Tailwind CSS
  • Vite

Admin Panel

  • Filament 5

Architecture

Warehouse Worker
        │
        ▼
 Station Tablet
 (Livewire UI)
        │
        ├────────► ESP32 LED Controller
        ├────────► ESP32 OLED Controller
        └────────► ESP32 Scale Controller

        │
        ▼

 Laravel Backend
        │
        ├────────► Xentral ERP
        ├────────► DHL API
        ├────────► PrintNode
        └────────► SMTP

Main Workflow

RFID Login
    ↓
Scan Delivery Note
    ↓
Load Delivery Note
    ↓
Illuminate Slots
    ↓
Pick Products
    ↓
Weight Validation
    ↓
Generate DHL Label
    ↓
Print Label
    ↓
Finalize in Xentral
    ↓
Complete

Installation

Clone Repository

git clone <repository-url>
cd picklight

Install Dependencies

composer install
npm install

Environment

cp .env.example .env
php artisan key:generate

Configure database and external service credentials in .env.

Run Migrations

php artisan migrate

Start Development Environment

php artisan serve

npm run dev

Environment Variables

Xentral

XENTRAL_BASE_URL=
XENTRAL_API_KEY=

DHL

DHL_MODE=sandbox
DHL_CLIENT_ID=
DHL_CLIENT_SECRET=
DHL_USERNAME=
DHL_PASSWORD=
DHL_BILLING_NUMBER=

PrintNode

PRINTNODE_API_KEY=

Mail

MAIL_MAILER=smtp
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_FROM_ADDRESS=

Project Structure

app/
├── Enums
├── Models
├── Livewire
│   └── Station
├── Services
│   ├── PickLight
│   ├── Xentral
│   ├── Dhl
│   └── PrintNode
├── Filament
│   ├── Resources
│   └── Pages
└── Warehouse

Current Status

Completed

  • User authentication
  • RFID authentication
  • Station sessions
  • Delivery note workflow
  • Event logging
  • Admin panel
  • Hardware abstraction layer
  • Hardware diagnostics
  • Delivery note management
  • Product management
  • Station management

In Progress

  • Xentral integration
  • DHL integration
  • PrintNode integration
  • ESP32 communication
  • Weight stability detection
  • Dashboard statistics

License

Private project developed for warehouse operations.

All rights reserved.

About

Laravel Warehouse Management System using Picklight ESP32, DHL, PrintNode API, and Xentral ERP

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages