Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

388 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VeraPOS

A modern, robust Point of Sale (POS) system built with Laravel and Vue.js, designed for high-performance retail management.

Key Features

  • POS Interface: Optimized for both touch and desktop, with barcode scanning and session management.
  • Inventory Management: Track stock, handling unit conversions, and low-stock alerts.
  • Multi-Buy Pricing: Flexible pricing strategies (Buy X Get Y, Tiered Discounts).
  • User Roles: Granular permissions for Admins, Managers, and Cashiers.
  • Reporting: Real-time sales analytics and detailed reports.
  • Mobile Native Experience: Responsive design with bottom sheets and touch-friendly controls.

Development Setup

  1. Clone the repository
  2. Install dependencies:
    composer install
    npm install
  3. Environment Setup:
    cp .env.example .env
    php artisan key:generate
  4. Database Migration:
    php artisan migrate --seed
  5. Run Development Server:
    php artisan serve
    npm run dev
    php artisan queue:work --timeout=60

Testing

This project utilizes PHPUnit for automated testing.

Running Tests

To run the full test suite, execute:

php artisan test

Or directly via PHPUnit:

./vendor/bin/phpunit

Test Suites

Unit Tests (tests/Unit)

  • CashRegisterServiceTest: Verifies the core logic of the Cashier module.
    • test_open_session_creates_record: Ensures cash register sessions are correctly initialized with opening amounts.
    • test_calculate_expected_cash: Validates the financial calculations, ensuring that opening cash + cash sales match the expected total (ignoring non-cash methods).
    • Note: These tests use specific database transactions (DB::beginTransaction() / DB::rollBack()) to ensure no test data persists in your local database.
  • PricingServiceTest: Verifies the multi-buy pricing logic.
    • test_calculate_total_multiple_tiers_greedy: Ensures complex combinations of pricing tiers are applied correctly (e.g., verifying that the system prioritizes the largest applicable bundle first).

Feature Tests (tests/Feature)

  • Includes standard HTTP tests to verify route accessibility and controller responses.

Security

If you discover any security related issues, please email the administrator instead of using the issue tracker.

License

Private / Proprietary.

About

A High-Value Free Inventory Tracking Management System design for small retail stores in the Philippines.

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages