About the project
PharmStop – Smart Pharmacy & Retail Billing System
PharmStop is a modern, full-stack pharmacy and retail management platform developed by StopLord Technologies Pvt. Ltd. It provides an integrated solution for pharmacies and retail businesses through a single, configurable software platform.
The system supports three business modes: Pharmacy, Retail Shop, and Combined Pharmacy & Retail. The Super Admin can enable or disable modules according to each business's requirements.
Key Features
- Centralized Super Admin Panel: Manage businesses, branches, modules, approvals, users and system-wide configurations.
- Multi-Branch Management: Manage multiple branches under one business with branch-level permissions, inventory and reporting.
- POS & Smart Billing: Fast billing with barcode scanning, product search, discounts, multiple payment methods and invoice generation.
- Pharmacy Management: Medicine master, generic names, composition, prescriptions, batch-wise stock and expiry management.
- Retail Management: General products, categories, product variants, barcodes and stock control.
- Inventory Management: Stock transfers, purchase entries, stock adjustments, low-stock alerts and inventory movement history.
- GST & Invoicing: GST calculation, CGST, SGST, IGST, invoice management and tax reports.
- Finance Management: Sales, gross profit, expenses, supplier dues, customer receivables and financial reporting.
- Customer Portal: Mobile-number-based OTP login, purchase history, invoices, addresses, loyalty points and online orders.
- Approval Management: Controlled approvals for sensitive business operations and important product or inventory changes.
- Role-Based Access: Dedicated permissions for Super Admin, Business Admin, Branch Manager, Cashier and Customer.
Technology & Architecture
The platform is built using React.js, TypeScript, Node.js and Express.js, with MongoDB as the primary database and Redis for caching, OTP management and rate limiting.
MongoDB replica-set transactions provide atomic processing for critical billing and inventory operations. JWT authentication, refresh-token rotation, API-level permissions and branch-level access control help protect business data.
The production architecture uses PM2 for API clustering and background workers, with Nginx as the reverse proxy.
Business Objective
PharmStop aims to simplify pharmacy and retail operations by bringing billing, inventory, purchasing, taxation, customer management and financial reporting together in one scalable application.
Developed by StopLord Technologies Pvt. Ltd.
Challenge & objectives
Pharmacies and retail businesses need an integrated management solution to handle daily billing, inventory, purchasing, taxation, customer management and financial operations.
The objective was to develop a unified platform that supports pharmacy operations, general retail shops and combined business models, with centralized Super Admin control and independent multi-branch management.
The system also needed secure role-based permissions, accurate stock management, batch-wise medicine expiry tracking, transaction-safe billing and comprehensive business reporting.
Solution & implementation
Developed PharmStop as a full-stack, multi-branch management platform using React.js, TypeScript, Node.js, Express.js, MongoDB and Redis.
Implemented a configurable business module system, centralized Super Admin dashboard, role-based access control, branch-level data isolation, barcode-enabled POS billing, batch-wise pharmacy inventory, purchase management, GST calculations, financial reporting and a customer portal.
Integrated MongoDB replica-set transactions for critical billing operations, Redis for caching and OTP management, and PM2 with Nginx for production deployment.
The application was deployed on Ubuntu Linux without Docker, using an API cluster and a dedicated background worker.
Results & outcomes
Successfully deployed the production application with HTTPS at billing.stoptel.in.
• 41 out of 41 backend automated tests passed.
• Production MongoDB replica-set transactions verified.
• Dedicated Redis service and authentication configured.
• Two API instances and one background worker running through PM2.
• Three demonstration branches configured.
• 28 sample products and 12 demonstration customers imported.
• 272 demonstration sales and 272 invoices generated.
These figures represent verified deployment and demonstration data, not actual customer business performance.