Lightweight Inventory + Point-of-Sale system
Modern full-stack application built for small businesses & retail shops
- CRUD operations for inventory items (name, price, stock, barcode)
- Simple POS-like sale interface (planned)
- Real-time stock updates
- JWT authentication foundation (extendable)
- Responsive design (mobile-friendly POS view)
- PostgreSQL database
- Docker & docker-compose ready (single-command local production)
- Static frontend served directly from FastAPI (single port)
| Layer | Technology | Purpose |
|---|---|---|
| Backend | FastAPI 0.115+ • SQLModel • Pydantic | REST API, data validation, ORM |
| Database | PostgreSQL 16 | Persistent storage |
| Frontend | React 18 • TypeScript • Vite | SPA, fast development & build |
| State/Query | TanStack Query (React Query) | Data fetching, caching, mutations |
| Styling | Tailwind CSS (recommended) | Modern, utility-first styling |
| Container | Docker • docker-compose | Local & production-like environment |
# 1. Clone the repository
git clone https://github.com/bundlab/inventory-pos-lite.git
cd inventory-pos-lite
# 2. Copy environment files
cp .env.example .env
cp backend/.env.example backend/.env
# 3. Build frontend (important!)
cd frontend
npm install
npm run build
cd ..
# 4. Start everything with Docker
docker compose up -d --build
# 5. Open in browser
# → http://localhost:8000