A modern, full-featured inventory management system built with Next.js 16, React, and Tailwind CSS. StockMaster provides comprehensive tools for managing products, warehouses, stock movements, and operations with an intuitive dark/light mode interface.
- Secure Login System with role-based access control
- Admin Dashboard with full system access
- Staff Management (Admin Only)
- Add new staff members
- Generate secure credentials
- Activate/Deactivate staff accounts
- Copy-to-clipboard credential sharing
- Password Reset functionality
- User Registration with email validation
- Real-time KPI Cards
- Total Products
- Low Stock Alerts
- Total Inventory Value
- Stock Movement Trends
- Operation Summary Cards
- Quick access to Receipts and Deliveries
- Status-based filtering
- Direct navigation to operations
- Visual Analytics with charts and graphs
- Comprehensive Product Catalog
- SKU, Barcode, and Category management
- Cost and Pricing tracking
- Multi-location stock tracking
- Reorder point and quantity settings
- Product Search & Filtering
- Low Stock Monitoring
- Bulk Product Operations
- Multi-Warehouse Support
- Warehouse A, Warehouse B, Store B
- Location-based stock tracking
- Inter-warehouse transfers
- Stock by Location tracking
- Warehouse-specific operations
- Create purchase orders from vendors
- Track scheduled delivery dates
- Multi-product line support
- Status workflow: Draft β Ready β Done
- Automatic stock updates on validation
- Customer Management
- Separate Customer and Delivery Person fields
- Customer order tracking
- Stock Validation
- Real-time availability checking
- "Waiting" status for insufficient stock
- Visual stock warnings
- Delivery Workflow
- Draft β Waiting β Ready β Done
- Automatic stock deduction
- Inter-warehouse stock transfers
- Source and destination tracking
- Stock availability validation
- Transfer history and audit trail
- Physical inventory counting
- Discrepancy tracking
- Counted vs. System quantity comparison
- Adjustment reasons and notes
- Complete audit trail of all stock movements
- Filter by type: IN, OUT, ADJ
- Search by product, warehouse, or contact
- Date-based filtering
- Movement status tracking
- Theme Toggle (Light/Dark Mode)
- User Profile Management
- System Preferences
- Category Management
For comprehensive documentation including API references, database schema, workflows, and architecture diagrams, see:
β‘οΈ FULL DOCUMENTATION
| Documentation Section | Description |
|---|---|
| ποΈ System Architecture | Three-tier architecture breakdown |
| ποΈ Database Schema | Complete data model and relationships |
| π API Reference | All endpoints with examples |
| π Dashboard Guide | Dashboard features and KPIs |
| π Workflow Examples | Real-world usage scenarios |
| π Deployment Guide | Production deployment steps |
Before you begin, ensure you have the following installed:
- Node.js (v18.0.0 or higher)
- npm (v9.0.0 or higher) or yarn
- Git (for cloning the repository)
git clone https://github.com/krushnamohod/Stock_Master_Gear_5.git
cd Stock_Master_Gear_5/FrontendUsing npm:
npm installOr using yarn:
yarn installCreate a .env file in the Root directory (optional for future API integration):
DATABASE_URL="postgresql://neondb_owner:REDACTED@ep-jolly-lake-a1lslxh2-pooler.ap-southeast-1.aws.neon.tech/neondb?sslmode=require&channel_binding=require"
# DATABASE_URL_UNPOOLED="postgresql://neondb_owner:REDACTED@ep-jolly-lake-a1lslxh2.ap-southeast-1.aws.neon.tech/neondb?sslmode=require&channel_binding=require"
Create a .env.loacal file in the Root directory (optional for future API integration):
DATABASE_URL="postgresql://neondb_owner:npg_qOA6auiHUZr7@ep-jolly-lake-a1lslxh2-pooler.ap-southeast-1.aws.neon.tech/neondb?sslmode=require&channel_binding=require"
JWT_SECRET="replace_with_a_long_secret"
JWT_EXP="7d"
DEFAULT_MANAGER_EMAIL="manager@stockmaster.local"
DEFAULT_MANAGER_PASS="manager123"
DEFAULT_STAFF_EMAIL="staff@stockmaster.local"
DEFAULT_STAFF_PASS="staff123"
PORT=4000
Using npm:
npm run devOr using yarn:
yarn devThe application will be available at http://localhost:3000
To create an optimized production build:
npm run build
npm startOr with yarn:
yarn build
yarn start- Login ID:
admin@odoo.com - Password:
admin123 - Role: Admin (Full Access)
β οΈ Important: Change these credentials in production by updatingFrontend/context/AuthContext.js
- Login with the admin credentials
- Navigate through the sidebar menu
- Start by adding Products and Warehouses
- Create Categories for better organization
- Begin tracking Operations (Receipts, Deliveries, Transfers)
- Go to Operations β Receipts
- Click "New Receipt"
- Fill in vendor details and scheduled date
- Add product lines with quantities
- Save as Draft or mark as Ready
- Validate to update stock levels
- Go to Operations β Deliveries
- Click "New Delivery"
- Enter Customer Name and Delivery Person
- Select source warehouse
- Add products to deliver
- System validates stock availability
- If stock is available, proceed to Ready/Done
- If insufficient stock, status shows "Waiting"
- Go to Staff Management (visible only to admins)
- Click "Add Staff"
- Enter staff name and login ID
- Generate or enter a password
- System displays credentials in a modal
- Copy credentials to share with staff member
- Manage staff status (Active/Inactive)
- Go to Operations β Internal Transfers
- Click "New Transfer"
- Select source and destination warehouses
- Add products and quantities
- System validates source warehouse stock
- Complete transfer to update both locations
- Scenario: Multi-location retail business with central warehouse
- Solution:
- Track inventory across all store locations
- Transfer stock from warehouse to stores
- Monitor low stock alerts per location
- Process customer deliveries efficiently
- Scenario: Wholesale distributor receiving and shipping products
- Solution:
- Manage vendor receipts with purchase orders
- Track customer deliveries with driver assignments
- Maintain accurate stock levels
- Generate movement history reports
- Scenario: Manufacturing facility with raw materials and finished goods
- Solution:
- Track raw material receipts
- Monitor work-in-progress inventory
- Manage finished goods deliveries
- Perform regular stock adjustments
- Scenario: Online retailer with fulfillment center
- Solution:
- Real-time inventory tracking
- Customer order fulfillment
- Low stock alerts for reordering
- Delivery person assignment
- Framework: Next.js 16.0.3 (App Router)
- UI Library: React 18
- Styling: Tailwind CSS 3.4
- Icons: Lucide React
- State Management: React Context API
- Package Manager: npm/yarn
- Code Quality: ESLint
- Build Tool: Turbopack (Next.js)
Frontend/
βββ app/
β βββ layout.js # Root layout with providers
β βββ page.js # Main application entry
β βββ globals.css # Global styles
β βββ favicon.ico # favicon
βββ components/
β βββ auth/ # Authentication components
β β βββ LoginScreen.jsx
β β βββ SignUpScreen.jsx
β β βββ ForgetPasswordScreen.jsx
β βββ dashboard/ # Dashboard components
β β βββ DashboardView.jsx
β β βββ KPICard.jsx
β β βββ OperationSummaryCard.jsx
β β βββ InventoryChart.jsx
β β βββ QuickActions.jsx
β β βββ RecentActivity.jsx
β βββ layout/ # Layout components
β β βββ Header.jsx
β β βββ Sidebar.jsx
β βββ operations/ # Operations management
β β βββ OperationsView.jsx
β β βββ OperationFormModal.jsx
β β βββ ReceiptsListView.jsx
β β βββ DeliveriesListView.jsx
β β βββ TransfersListView.jsx
β β βββ AdjustmentsListView.jsx
β βββ products/ # Product management
β β βββ ProductsView.jsx
β βββ staff/ # Staff management (Admin only)
β β βββ StaffManagementView.jsx
β βββ history/ # Movement history
β β βββ MoveHistoryView.jsx
β βββ settings/ # Settings
β βββ SettingsView.jsx
βββ context/
β βββ AuthContext.js # Authentication state
β βββ StockContext.js # Stock management state
βββ lib/
β βββ utils.js # Utility functions
βββ package.json
graph LR
A[Vendor Ships] --> B[Create Receipt]
B --> C[Validate Receipt]
C --> D[Stock Updated]
D --> E[Customer Orders]
E --> F[Create Delivery]
F --> G[Check Stock]
G --> H{Stock Available?}
H -->|Yes| I[Process Delivery]
H -->|No| J[Wait for Stock]
I --> K[Stock Deducted]
graph TD
A[Physical Count] --> B[Create Adjustment]
B --> C[Enter Counted Qty]
C --> D[System Calculates Diff]
D --> E[Validate Adjustment]
E --> F[Stock Updated]
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- None currently reported
- Backend API integration
- Database persistence (PostgreSQL/MongoDB)
- PDF report generation
- Barcode scanning support
- Mobile responsive improvements
- Multi-language support
- Advanced analytics dashboard
- Email notifications
- Export to Excel/CSV
- Role-based permissions (Staff, Manager, Admin)
For support, email priyanshuthakare10@gmail.com or open an issue in the GitHub repository.
- Krushna Mohod - Initial work - Krushnamohod
- Lokesh Chaudhary - Initial work - lokidass
- Priyanshu Thakare - Initial work - YourGitHub
- Next.js team for the amazing framework
- Tailwind CSS for the utility-first CSS framework
- Lucide for the beautiful icon set
- The open-source community
Made with β€οΈ by the StockMaster Team