# Project Case Study: INVENTORY POS SYSTEM

> Built by Gyanranjan Priyam (https://www.priyam.tech)
> Tech Stack: React 18, TypeScript, Node.js, MongoDB, TailwindCSS, Razorpay
> Timeline: 2025 | Category/Company: Inventory

- Canonical URL: https://www.priyam.tech/projects/pos-system
- Live Demo: https://ims-gyanranjanpriyam.netlify.app
- Source Code: https://github.com/Gyanranjan-Priyam/ims
- 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


--- 

## Feature Breakdown

### Point of Sale
- 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)

### Inventory
- Real-time stock tracking and management
- Product CRUD with category organization
- Reorder point alerts
- Live data synchronization across sections

### Finance & Payments
- Razorpay payment gateway integration
- Cash, Online, Bank Transfer, and Cheque support
- Ledger accounting for transaction tracking
- Dashboard analytics with revenue insights

### User Management
- Role-based access (Admin, Manager, Salesperson)
- JWT authentication with secure sessions
- User account creation and management


--- 

## Architecture & Tech Stack

- **Frontend**: React 18 + TypeScript (Vite)
- **Styling**: Tailwind CSS
- **Backend**: Node.js / Express.js
- **Database**: MongoDB + Mongoose
- **Authentication**: JWT + Bcrypt
- **Payments**: Razorpay
- **Icons**: Lucide React
- **Dates**: date-fns
- **Deployment**: Vercel (frontend) + Railway (backend)


---

## Author & Creator

- Developer: Gyanranjan Priyam
- Portfolio: https://www.priyam.tech
- GitHub: https://github.com/gyanranjan-priyam
- LinkedIn: https://linkedin.com/in/gyanranjan-priyam
- Twitter: https://x.com/gr_priyam