A fast, modern, and beautiful Point of Sale and Inventory Management application.
| Dashboard | Point of Sale |
|---|---|
![]() |
![]() |
| Products | Sales Transactions |
![]() |
![]() |
Inventiq is a streamlined Point of Sale (POS) and Inventory Management system tailored for small-to-medium retail environments. It provides a lightning-fast, ultra-modern interface to process sales, manage stock quantities, and view real-time analytics without the clutter of unnecessary features.
This project was built adhering to strict, minimal-scope documentation, guaranteeing a robust, focused, and high-performance workflow.
- π¦ Inventory Management: Easily add, edit, delete, and view products. Includes real-time stock tracking and dynamic low-stock alerts.
- π Point of Sale (POS): A sleek catalog and cart interface for building orders. Auto-calculates totals and generates clean, professional digital receipts.
- π Sales Transactions: Track historical sales data, inspect individual receipt details in a beautiful modal, and monitor shop activity.
- π Interactive Dashboard: Get a bird's-eye view of your business with metrics on total revenue, active products, and low-stock warnings.
- Add product
- View products
- Edit products
- Delete products
- Track stock quantity
- Display product price
- Display stock availability
- View available products
- Add products to cart
- Update quantities
- Remove cart items
- Calculate totals
- Complete transactions
- Generate receipt number
- Save sales transactions
- Save sales details
- Deduct inventory quantity
- Total number of products
- Current inventory levels
- Total sales transactions
- Recent sales activity
- Total revenue
Note for Beginners: You will need to open two separate terminal windows to run this projectβone for the backend server and one for the frontend client.
Before you begin, ensure you have the following installed on your machine:
- Node.js (v18 or higher recommended)
- Local Server Environment (XAMPP, WAMP, or similar) for MySQL database
- Git (optional, for cloning the repository)
- Start your local server environment (e.g., XAMPP or WAMP) and ensure the MySQL module is running.
- Open your database management tool (e.g., phpMyAdmin, usually at
http://localhost/phpmyadmin). - Create a new database named
inventiq. - Go to the Import tab and upload the
database.sqlscript found in theserver/src/database/directory. - Click Import to construct the necessary tables.
Open your first terminal window and run:
cd server
npm install
# Set up your environment variables
# Copy the example file and rename it to .env
cp .env.example .env
# Open .env and ensure your MySQL username, password and DB name are correct
npm run devLeave the first terminal running, open a new, second terminal window, and run:
cd client
npm install
# Set up your environment variables
# Copy the example file and rename it to .env
cp .env.example .env
npm run devNavigate to http://localhost:5173 in your browser to view the application!
- Framework: React + Vite
- Language: TypeScript
- Styling: Tailwind CSS + custom UI components
- Routing: React Router DOM
- HTTP Client: Axios
- Environment: Node.js
- Framework: Express.js
- Language: TypeScript
- Database: MySQL (WAMP Server compatible)
This project is deployed across distinct environments to ensure optimal performance, security, and scalability:
- Frontend (Client): Deployed on Vercel (Live Demo).
- Purpose: Vercel provides a global Content Delivery Network (CDN), ensuring the React application loads blazingly fast for users regardless of their location.
- Backend (Server): Deployed on Render.
- Purpose: Render provides a reliable, persistent runtime environment for the Node.js/Express server to handle API requests, process business logic, and manage secure connections to the database.
- Database: Hosted on TiDB Cloud Serverless.
- Purpose: TiDB Cloud Serverless offers a scalable, highly available MySQL-compatible database ensuring secure data storage and automated backups, separated from the application logic.
Inventiq/
βββ client/ # React + Vite frontend application
βββ server/ # Node.js + Express backend API
βββ docs/ # Strict project guidelines and documentation
For the absolute source of truth regarding database schemas, feature requirements, and UI guidelines, please refer exclusively to the /docs directory. No features fall outside the bounds of these strict guidelines.



