Skip to content

Ampexqt/Inventiq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

63 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›οΈ Inventiq POS & Inventory System

A fast, modern, and beautiful Point of Sale and Inventory Management application.

React TypeScript Tailwind CSS Node.js Express.js MySQL


πŸ“Έ Screenshots

Dashboard Point of Sale
Dashboard Point of Sale
Products Sales Transactions
Products Sales Transactions

πŸ“Œ Overview

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.

✨ Key Features

  • πŸ“¦ 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.

βœ… Features Checklist

Inventory Management

  • Add product
  • View products
  • Edit products
  • Delete products
  • Track stock quantity
  • Display product price
  • Display stock availability

POS Module

  • View available products
  • Add products to cart
  • Update quantities
  • Remove cart items
  • Calculate totals
  • Complete transactions

Sales Module

  • Generate receipt number
  • Save sales transactions
  • Save sales details
  • Deduct inventory quantity

Dashboard

  • Total number of products
  • Current inventory levels
  • Total sales transactions
  • Recent sales activity
  • Total revenue

πŸš€ Installation Guide

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.

Prerequisites

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)

1. Database Import Steps

  1. Start your local server environment (e.g., XAMPP or WAMP) and ensure the MySQL module is running.
  2. Open your database management tool (e.g., phpMyAdmin, usually at http://localhost/phpmyadmin).
  3. Create a new database named inventiq.
  4. Go to the Import tab and upload the database.sql script found in the server/src/database/ directory.
  5. Click Import to construct the necessary tables.

2. Start the Backend (Terminal 1)

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 dev

3. Start the Frontend (Terminal 2)

Leave 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 dev

Navigate to http://localhost:5173 in your browser to view the application!

πŸ› οΈ Technology Stack

Frontend (/client)

  • Framework: React + Vite
  • Language: TypeScript
  • Styling: Tailwind CSS + custom UI components
  • Routing: React Router DOM
  • HTTP Client: Axios

Backend (/server)

  • Environment: Node.js
  • Framework: Express.js
  • Language: TypeScript
  • Database: MySQL (WAMP Server compatible)

☁️ Deployment Architecture

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.

πŸ“‚ Project Structure

Inventiq/
β”œβ”€β”€ client/          # React + Vite frontend application
β”œβ”€β”€ server/          # Node.js + Express backend API
└── docs/            # Strict project guidelines and documentation

πŸ“– 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.


Designed with modern aesthetics and strict operational rules in mind.

About

A fast, modern Point of Sale (POS) and Inventory Management System built with React, Node.js, Express, and MySQL. Features an ultra-clean UI, real-time cart, and dynamic stock tracking.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages