A warehouse system for a parts trader
I set up this system and built it alone in its first year: orders from webshop, marketplace and counter in one workflow, from picking to shipping. After that it was developed further together with a colleague.
The problem
A parts trader sells through its own webshop, an online marketplace and the counter. Every channel had its own orders, and booking stock out twice was a real risk.
What I built
I set up the repository and built it alone in its first year, on Next.js and MySQL, with drizzle-orm on Bun. The orders come together in one workflow, with a picking list on the warehouse worker's phone.
After that the system was developed further together with a colleague. What was built later, together or by the colleague, is not listed here as my work.
What matters technically
Order sync with the webshop and the parts API
Orders from the webshop and data from the parts API come together in the system, so the warehouse works from one list.
A picking list with product photos and a photo check
Every item on the picking list shows a product photo, with a photo check beside it, so the right part leaves the warehouse.
Labels for pickup and fitting
The system makes the labels for parts that are picked up and for parts that are fitted.
Push notifications
Notifications reach the warehouse workers' phones as push messages.
The vehicle module
Vehicles and their data live in the same system as the orders and the stock.
The CI and Docker build
Every change is built automatically into a Docker image with GitHub Actions.
Measured
Counted in the repository. The number of tables is that of the current schema, after the further development.
- first commit: I set up the repository
- 01-02-2025
- tables in the current schema
- 31
How measured
git log --reverse --format=%ad --date=short | head -1
grep -c 'mysqlTable(' app/server/db/schema.tsMeasured on 27-10-2026 in the project's repository.
Need something similar, or a team that builds systems like this?
info@bitvire.com