compits App – from testing system to shop
Custom solution
laravel, filament, php, mysql, redis

compits GmbH refurbishes used notebooks, PCs and monitors and sells them on. Every device goes through the Aiken testing system, and sales run through the JTL-Wawi inventory system and the Shopify shop. For the step in between we built a dedicated application: it turns a tested device into a product ready for sale and hands it to JTL automatically.
From tested device to product
Twice a day the app mirrors the Aiken database, strictly read-only. An inbox lists the devices ready for sale: tested, graded A, B or C and not yet exported. From there the team creates a product with one click:
- Manufacturer, model, serial number and specifications are taken from Aiken.
- The app generates title and description.
- A price suggestion comes from templates by condition and device type.
- Accessories without an Aiken test can be added by hand.
Before release the team checks the price, uploads photos, and picks the category and the available RAM and SSD upgrades.
Automatic hand-over to JTL and Shopify
Released products are written to a CSV file in JTL-Ameise format and pushed via SFTP to a machine on the compits network. JTL-Ameise imports the file automatically and reports the result back to the app via callback. The JTL connector then lists the products in the Shopify shop, carrying condition and upgrade options along as Shopify tags that the shop's filters and groups are built on.
Responsibilities are clearly split: JTL owns stock, orders, invoices and shipping. The app is the gate in front of it, making sure only complete, released products reach the inventory system.
Monitoring
A dashboard shows the state of the hand-over to JTL and how current the Aiken mirror is. If files get stuck, an import fails or the pipeline stalls for more than a day, the app sends alert emails.
Stack: Laravel 13 on PHP 8.4, Filament v4 as a German-language admin panel, MySQL 8 with two connections (app database and the Aiken database, read-only over a Tailscale tunnel), Redis for queue and cache, the Laravel scheduler for recurring jobs, Nginx on a VPS deployed with Laravel Forge, Docker Compose locally.