Skip to content

Repository files navigation

Laravel Logo

πŸ¦… Rajawali Stok β€” POS & Inventory Management System

A desktop point-of-sale and inventory management system built for Toko Rajawali, a multi-category retail store in Tondano, North Sulawesi, selling computers & electronics, stationery (ATK), cakes & pastries, snacks, beverages, and packaging supplies.
Packaged as a native Windows desktop application using NativePHP + Electron.

Laravel PHP Alpine.js Tailwind CSS NativePHP Electron SQLite


πŸ“– About This Project

Rajawali Stok is a point-of-sale (POS) and inventory management system built for Toko Rajawali, a retail store in Tondano, North Sulawesi that sells a wide mix of products β€” from computer accessories and electronics to stationery, cakes & pastries, snacks, drinks, and packaging materials.

The system was built to replace manual, paper-based stock tracking and cash-register sales with a single, streamlined application that keeps stock counts, sales, and reporting all in one place. It runs as a native desktop app (via NativePHP + Electron) so it can be installed and used directly on the store's computer without needing a separate server, PHP, or browser setup.

The system supports three distinct roles:

  • Admin β€” full access to POS, inventory, and reporting.
  • Owner β€” access to dashboards, reports, and business oversight.
  • Dapur (Kitchen) β€” scoped access limited to bakery-related categories (finished cakes/pastries and raw baking ingredients).

✨ Features

πŸ›’ Point of Sale (Kasir)

  • Fast, click-to-add product grid organized by category tabs (ATK, Electronics, Cake & Pastry, Snacks, Beverages, Packaging)
  • Live product search
  • Real-time cart with quantity controls and running total
  • Multiple payment methods: Cash (with change calculation), QRIS, and Bank Transfer
  • Stock-aware checkout β€” prevents overselling and flags low/out-of-stock items
  • Thermal-style (80mm) receipt printing, rendered as a print-ready HTML document for full compatibility with the desktop app's print preview

πŸ“¦ Inventory Management

  • Stock-in (barang masuk) and stock-out (barang keluar) tracking
  • Product catalog management across multiple categories
  • Low-stock warnings directly in the POS and catalog views
  • Role-scoped category access (e.g. kitchen staff only see bakery-related stock)

πŸ“Š Dashboard & Reporting

  • Real-time dashboard defaulting to today's activity, with historical filters
  • Excel export with multiple color-coded sheets (via PhpSpreadsheet)
  • PDF report generation (via DomPDF)

πŸ” Security & Reliability

  • Role-based access control with Laravel Gates
  • CSRF protection, mass-assignment protection, and hardened middleware
  • Eager-loaded queries to avoid N+1 performance issues
  • Foreign-key indexed migrations for data integrity

πŸ› οΈ Tech Stack

Layer Technology
Backend Framework Laravel (PHP)
Frontend Blade Templating, Alpine.js, Tailwind CSS
UI Feedback SweetAlert2, Chart.js
Desktop Runtime NativePHP + Electron
Local Database (Desktop) SQLite
Reporting PhpSpreadsheet (Excel), DomPDF (PDF)

πŸš€ Installation & Setup

Prerequisites

  • PHP >= 8.3
  • Composer
  • Node.js & NPM
  • (For desktop builds) Windows with Developer Mode enabled

Steps

  1. Clone the repository

    git clone https://github.com/mystrygrdn/tokorajawali-pos-inventory.git
    cd tokorajawali-pos-inventory
  2. Install dependencies

    composer install
    npm install
  3. Configure environment

    cp .env.example .env
    php artisan key:generate
  4. Set up the database

    php artisan migrate --seed
  5. Run in the browser (recommended for development)

    npm run dev
    php artisan serve
  6. Run as a native desktop app

    php artisan native:install
    php artisan native:serve
  7. Build a distributable Windows installer

    php artisan native:build win

    The finished installer will be generated inside nativephp/electron/dist/.


πŸ“„ License

This project is built for internal use by Toko Rajawali. Please contact the repository owner before reusing or redistributing.

About

πŸ¦… A native desktop POS & inventory system for Toko Rajawali, built using NativePHP, Electron, and Laravel, featuring role-based access and offline SQLite storage. πŸ’»πŸ“¦

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages