Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Inventory Control System

A full-stack inventory management application for tracking products, suppliers, purchasing, sales invoices, and business reports.

Key Features

  • Product management: create, view, and update products with SKU, category, pricing, quantity, reorder level, supplier link, and optional expiry date.
  • Supplier tracking: maintain supplier records and view supplier details.
  • Purchase orders & stock receiving: create purchase orders and receive orders to automatically increase stock.
  • Invoices / sales tracking: create invoices, mark invoices as paid, and adjust stock based on sales.
  • Inventory valuation & profit/loss reporting: view valuation summaries, profit/loss analysis, and top product performance.
  • Expiry tracking & low-stock alerts: monitor expired/expiring products and products at/below reorder level.

Tech Stack

Frontend

  • React
  • React Router
  • Axios
  • Bootstrap

Backend

  • Node.js
  • Express
  • MongoDB
  • Mongoose
  • JWT (jsonwebtoken)
  • bcrypt
  • CORS
  • dotenv

Repository Structure

InventoryControlSystem/
├── backend/       # Express API, controllers, models, routes
├── frontend/      # React client application
└── sample-data/   # Sample JSON data exports

Prerequisites

Before running locally, make sure you have:

  • Node.js 18+ (or newer LTS)
  • npm
  • MongoDB (local instance or hosted URI)

Local Setup

1) Clone and enter the repository

git clone https://github.com/CodeShowOff/InventoryControlSystem.git
cd InventoryControlSystem

2) Backend setup

cd backend
npm install

Create a .env file in /backend:

MONGO_URI=mongodb://localhost:27017/inventory_db
PORT=5000
JWT_SECRET=your_jwt_secret_here

3) Frontend setup

In a separate terminal:

cd frontend
npm install

(Optional) create /frontend/.env to point to a custom backend URL:

REACT_APP_API_URL=http://localhost:5000

Run in Development

Start backend:

cd backend
npm run dev

Start frontend:

cd frontend
npm start
  • Frontend: http://localhost:3000
  • Backend API: http://localhost:5000

Usage Overview

  1. Register a user account (or log in).
  2. Use the dashboard to add and manage products.
  3. Create/manage suppliers and link them to products.
  4. Create purchase orders and mark them as received to increase stock.
  5. Create invoices to record sales and update stock.
  6. Use Reports for inventory valuation, profit/loss, and expiry insights.
  7. Use Low Stock Alerts to quickly identify products that need restocking.

Sample Data

The sample-data/ folder includes example exported JSON files you can use to seed or inspect data:

  • Inventory-Data.products.json
  • inventory_db.suppliers.json

Author / Contributors

  • CodeShowOff

License

ISC (as specified in backend/package.json).

About

A full-stack inventory management application for tracking products, suppliers, purchasing, sales invoices, and business reports.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages