Loading...
Topple OMS landing page
Wholesale OMS Monorepo Enterprise SaaS

Topple OMS

Wholesale order management — catalog, purchasing, and inventory on one fast, unified surface.

Topple OMS is a full-stack wholesale order management system built for Topple World Products. It brings catalog management, purchasing workflows, and inventory tracking into a single operational dashboard — from first SKU to received pallet.

The Challenge

Wholesale operations often run on spreadsheets and disconnected tools. Teams need a reliable system that handles product catalogs at scale, supports multi-location inventory, and gives admins a clear view of orders — without slowing down day-to-day work.

What We Built

A Turborepo monorepo with a FastAPI + SQLModel backend and a Next.js App Router frontend. Turborepo orchestrates dev, build, test, and lint across both apps from a single root — with hot reload on backend and frontend during development.

Key Capabilities

Unified Catalog Product management with supplier metadata, lead times, part numbers, and dimensional data for container-fill calculations.
Bulk Import Admin-only `.xlsx` import with required and optional columns — weight, length, width, and height map to base units automatically.
Purchasing & Inventory End-to-end wholesale workflows across locations, with a seeded MAIN location and role-based admin access.
API-First Backend FastAPI on port 8000 with Alembic migrations, pytest suite, and a clean separation from the Next.js client.
Modern Frontend Next.js dashboard on port 3000 with Tailwind — all data fetched from the backend via `NEXT_PUBLIC_API_BASE`.
Isolated E2E Stack Playwright tests run against dedicated `:8001`/`:3001` instances with a resettable `topple_e2e` database — never touching dev data.

Core Stack

Monorepo

Turborepo, pnpm workspaces, Node 22+, shared packages scaffold

Backend

FastAPI, SQLModel, Alembic, Python 3.11+, MySQL/MariaDB

Frontend

Next.js App Router, Tailwind CSS, Playwright E2E

Quality

pytest backend tests, Playwright frontend E2E, turbo lint pipeline

Highlights

  • One command dev: `pnpm dev` starts both backend and frontend together with hot reload.
  • Deterministic testing: E2E suite provisions its own database and re-seeds fixtures before every test.
  • Deployment-ready: Documented cPanel shared-hosting path alongside standard local and production workflows.