INVENTORY POS SYSTEM

Inventory · 2025

React 18TypeScriptNode.jsMongoDBTailwindCSSRazorpay
INVENTORY POS SYSTEM

My Role: Full Stack Developer — Sole developer responsible for designing the system architecture, building the POS workflow, and integrating the payment gateway.

Overview

A comprehensive Point of Sale and Inventory Management System designed for small to mid-size businesses. It combines real-time stock tracking, a full checkout flow with barcode scanning, multi-method payment processing through Razorpay, and role-based dashboards — all in a responsive interface that works across desktop, tablet, and mobile.

The POS module handles the complete sales cycle: product lookup via barcode scanner, cart management, multi-payment support (cash, online, bank transfer, cheque), and professional receipt generation. Inventory management provides real-time stock levels, reorder alerts, and product CRUD with category organization.

On the backend, Express.js serves a REST API with JWT-based auth and role-based access (Admin, Manager, Salesperson). MongoDB handles data persistence with Mongoose ODM, and the ledger system tracks all financial transactions. The frontend is built with React 18, TypeScript, and Tailwind CSS, with date-fns for formatting and Lucide for iconography.

Key Highlights

Complete POS checkout flow with barcode scanner integration

Razorpay payment gateway with multi-method support

Real-time inventory sync across all connected sections

Role-based dashboards for Admin, Manager, and Salesperson

Professional receipt and invoice generation

Ledger accounting system for financial transaction tracking

Real-time notification system for stock alerts and updates

Responsive design working on desktop, tablet, and mobile

Features

  • Full checkout and sales processing
  • Barcode scanner integration for quick product lookup
  • Cart management with quantity and pricing
  • Professional receipt and invoice printing
  • Multi-currency support (INR with extensible system)
  • Real-time stock tracking and management
  • Product CRUD with category organization
  • Reorder point alerts
  • Live data synchronization across sections
  • Razorpay payment gateway integration
  • Cash, Online, Bank Transfer, and Cheque support
  • Ledger accounting for transaction tracking
  • Dashboard analytics with revenue insights
  • Role-based access (Admin, Manager, Salesperson)
  • JWT authentication with secure sessions
  • User account creation and management

Tech Stack

LayerTechnology
FrontendReact 18 + TypeScript (Vite)
StylingTailwind CSS
BackendNode.js / Express.js
DatabaseMongoDB + Mongoose
AuthenticationJWT + Bcrypt
PaymentsRazorpay
IconsLucide React
Datesdate-fns
DeploymentVercel (frontend) + Railway (backend)

Project Structure

client
src
components
pages
context
hooks
lib
App.tsx
main.tsx
package.json
vite.config.ts
tsconfig.json
server
src
controllers
models
routes
middleware
index.ts
package.json
.env

Screenshots

INVENTORY POS SYSTEM screenshot 1
INVENTORY POS SYSTEM screenshot 2
INVENTORY POS SYSTEM screenshot 3
INVENTORY POS SYSTEM screenshot 4
1 / 4