# Dependencies — TinyPOS (`tnx-pos`)

> Extracted from verified Reversa Scout artifacts (reconnaissance phase, 2026-09-16).
> Confidence scale: 🟢 CONFIRMED · 🟡 INFERRED · 🔴 GAP

---

## Module dependency map

Internal modules inferred from controllers, models, and route surface in `routes/web.php`. 🟡

```mermaid
graph TD
    pos["pos\n(PosController)"]
    products["products\n(ProductController)"]
    customers["customers\n(CustomerController)"]
    orders["orders\n(OrderController)"]
    debts["debts\n(DebtController)"]
    gifts["gifts\n(GiftController)"]
    brands["brands\n(BrandController)"]
    categories["categories\n(CategoryController)"]
    units["units\n(UnitController)"]
    dashboard["dashboard\n(DashboardController)"]
    auth["auth\n(Admin::registerAuthRoutes)"]

    pos --> products
    pos --> customers
    pos --> orders
    customers --> orders
    customers --> debts
    customers --> gifts
    products --> categories
    products --> brands
    products --> units
```

Route evidence for edges:
- `pos → products` — `/pos/scan` calls product lookup; `products/get-price` used at POS 🟡
- `pos → customers`, `pos → orders` — POS session creates orders for customers 🟡
- `customers → orders` — route `/customers/{customer}/orders` 🟢
- `customers → debts` — routes `/customers/debt`, `/customers/debts`, `/customers/repayments` 🟢
- `customers → gifts` — routes `/customers/check-gift`, `/customers/gift-received`, `/customers/redeem-points` 🟢
- `products → categories/brands/units` — `ProductUnit` model; settings routes group `categories`, `brands`, `units` alongside products 🟡

---

## PHP runtime

| Requirement | Version | Source |
|-------------|---------|--------|
| PHP | `7.4.33` | `composer.json` 🟢 |

---

## PHP dependencies (Composer)

### Runtime (`require`)

| Package | Constraint | Resolved | Purpose | Confidence |
|---------|-----------|----------|---------|------------|
| `laravel/framework` | `5.6.*` | `v5.6.39` | Core web framework | 🟢 |
| `salipropham/laravel55-admin` | `0.1.*` | — | Admin scaffolding: auth routes, admin menu/UI, RBAC | 🟢 |
| `laravelcollective/html` | `5.6.*` | — | HTML/Form builders for Blade views | 🟢 |
| `laravel/tinker` | `^1.0` | — | REPL / interactive console | 🟢 |
| `intervention/image` | `^2.7` | — | Image manipulation (product/logo images) | 🟢 |
| `fideloper/proxy` | `^4.0` | — | Trusted proxy handling | 🟢 |

Source: custom VCS repository `https://github.com/salipropham/laravel55-admin.git` for `salipropham/laravel55-admin`. 🟢

### Dev (`require-dev`)

| Package | Constraint | Purpose | Confidence |
|---------|-----------|---------|------------|
| `phpunit/phpunit` | `^7.0` | Test runner | 🟢 |
| `mockery/mockery` | `^1.0` | Test mocking | 🟢 |
| `fzaninotto/faker` | `^1.4` | Fake data for seeds/factories | 🟢 |
| `filp/whoops` | `^2.0` | Pretty error pages (dev) | 🟢 |
| `nunomaduro/collision` | `^2.0` | CLI error reporting | 🟢 |

### Autoload

- PSR-4: `App\` → `app/` 🟢
- Classmap: `database/seeds`, `database/factories` 🟢
- Files: `app/helpers.php` 🟢

### Notable Composer config

- `minimum-stability: dev`, `prefer-stable: true` 🟢
- `post-autoload-dump` runs `patch_package_manifest.php` then `artisan package:discover` 🟡

---

## Frontend dependencies (npm)

All declared under `devDependencies` (build-time; `private: true`). 🟢

| Package | Constraint | Purpose |
|---------|-----------|---------|
| `vue` | `^2.5.7` | Frontend components |
| `bootstrap` | `^4.0.0` | UI framework |
| `jquery` | `^3.2` | DOM/admin scripts |
| `popper.js` | `^1.12` | Bootstrap tooltips/popovers |
| `axios` | `^0.18` | HTTP client (frontend) |
| `lodash` | `^4.17.4` | Utility library |
| `laravel-mix` | `^2.0` | Asset build pipeline (`webpack.mix.js`) |
| `cross-env` | `^5.1` | Cross-platform env vars for npm scripts |

### npm scripts

| Script | Purpose |
|--------|---------|
| `dev` / `development`, `watch`, `watch-poll`, `hot` | Laravel Mix / webpack dev builds |
| `prod` / `production` | Production asset build |
| `setup`, `setup:opsx`, `setup:skills` | Project setup shell scripts under `scripts/` |

---

## Infrastructure / operational dependencies

| Dependency | Where referenced | Confidence |
|------------|-----------------|------------|
| MariaDB 10.11.13 | `config/database.php` default connection; `.env` `DB_*` vars | 🟢 |
| Apache + mod_php (`www-data`) | `docker/apache/`, `README.md` | 🟢 |
| Nginx (alternative config) | `docker/nginx/default.conf` | 🟢 |
| Docker / docker-compose | `docker/` directory | 🟢 |
| System cron | `deploy/cron.d/tnx-pos-dev` → `php artisan schedule:run` every minute | 🟢 |
| GitLab CI runner | `.gitlab-ci.yml` (`pos-dev` deploy job) | 🟢 |

---

## Gaps

- 🔴 Exact resolved versions for most Composer packages live in `composer.lock` but were not fully enumerated in the verified artifacts.
- 🔴 No third-party HTTP integrations, payment gateways, or messaging providers were detected — confirm during excavation phase.
