AI-powered procurement and vendor management platform built for modern enterprises. Streamline the entire procurement lifecycle β from vendor onboarding and RFQs through quotation comparison, approval workflows, purchase orders, and invoice management.
- Register and manage a complete vendor directory with company profiles
- Categorize vendors (IT & Software, Hardware, Office Supplies, Logistics, Consulting, Manufacturing)
- Track vendor ratings, completed orders, delayed orders, and rejection history
- AI-powered vendor risk scoring based on performance metrics
- Filter, search, and view detailed vendor profiles
- Edit and delete vendors with confirmation dialogs
- Create RFQs with line items (name, quantity, unit, estimated price)
- Assign multiple vendors to each RFQ
- Set deadlines and track RFQ status:
openβunder_reviewβawarded/cancelled - View RFQ details inline with expandable panels
- Edit and delete RFQs
- Vendors submit quotations against open RFQs
- Track per-item pricing with unit price and totals
- Quotation statuses:
submitted,under_review,accepted,rejected,expired - View all quotations with filtering by status
- Side-by-side comparison of all quotations received for an RFQ
- AI scoring engine ranks vendors on:
- Price competitiveness
- Delivery speed
- Vendor rating and reliability
- Historical performance (delays, rejections)
- Auto-recommend the best vendor with justification
- Accept a quotation directly to auto-create a Purchase Order
- Sort by overall score, price, or delivery time
- Multi-stage approval pipeline:
Quotation Submitted β Under Review β Manager Approval β Decision Made - Pending/Approved/Rejected stats sourced from live API data
- Managers can approve or reject with remarks
- Rejection reason captured and stored for audit trail
- Real-time badge count on Pending tab
- Auto-generated from accepted quotations
- PO statuses:
pending,confirmed,dispatched,delivered,cancelled - View PO details with vendor info, line items, subtotal, tax, and total
- Filter by status, search by PO number or vendor
- Create invoices linked to Purchase Orders
- Invoice statuses:
draft,sent,paid,overdue,cancelled - Clean printable invoice layout with itemized breakdown, GST, and grand total
- No email/print functionality β view-only professional invoice document
- At-a-glance stats: Active Vendors, Open RFQs, Pending Approvals, Total PO Value
- Live counts from API β no hardcoded demo data
- Recent RFQ and Quotation activity feed
- Procurement health overview
- Visual summaries of procurement activity
- Vendor performance breakdowns
- Spending analytics across categories
- System-wide audit trail of all procurement events
- Timestamped records for compliance and review
| Role | Access |
|---|---|
| Admin | Full access to all modules |
| Manager | Approvals, RFQs, Quotations, POs, Invoices, Reports |
| Procurement Officer | Vendors, RFQs, Quotations, POs, Invoices, Activity |
| Vendor | Dashboard, RFQs (view), Quotations, POs (view), Invoices (view) |
| Role | Password | |
|---|---|---|
| Admin | vatsal@gmail.com |
vatsal123 |
| Manager | prince@gmail.com |
prince123 |
| Procurement Officer | yash@gmail.com |
yash123 |
| Vendor | neil@gmail.com |
neil123 |
| Technology | Purpose |
|---|---|
| React 18 | UI framework |
| React Router v6 | Client-side routing |
| Vite | Build tool & dev server |
| Lucide React | Icon library |
| React Hot Toast | Notifications |
| Vanilla CSS | Custom design system with dark/light theme |
| Technology | Purpose |
|---|---|
| Node.js + Express | REST API server |
| MongoDB + Mongoose | Database & ODM |
| bcryptjs | Password hashing |
| JSON Web Token (JWT) | Authentication |
| dotenvx | Environment management |
Hackathon-2026/
βββ client/ # React frontend (Vite)
β βββ public/
β β βββ favicon.svg # App icon
β β βββ favicon.jpg # Logo (globe wireframe)
β β βββ logo.jpg # Full brand logo
β βββ src/
β βββ components/
β β βββ ConfirmDialog/ # Reusable blur backdrop confirm modal
β β βββ Layout/ # Sidebar + Header layout shell
β βββ context/
β β βββ AuthContext.jsx # JWT auth state
β β βββ ThemeContext.jsx # Dark/light theme toggle
β βββ pages/
β β βββ Auth/ # Login & Signup
β β βββ Dashboard/ # Overview stats & activity
β β βββ Vendors/ # Vendor CRUD
β β βββ RFQ/ # RFQ management
β β βββ Quotations/ # Quotation list + AI compare
β β βββ Approvals/ # Approval workflow
β β βββ PurchaseOrders/ # PO management
β β βββ Invoices/ # Invoice management
β β βββ Activity/ # Audit log
β β βββ Reports/ # Analytics
β βββ services/
β β βββ api.js # Axios instance with auth interceptors
β βββ utils/
β β βββ aiEngine.js # AI scoring & recommendation logic
β βββ App.jsx # Routes + Theme + Auth providers
β βββ index.css # Global design system (dark/light CSS vars)
β
βββ server/ # Express backend
βββ models/
β βββ User.js # User schema (bcrypt pre-save hook)
β βββ Vendor.js # Vendor profile schema
β βββ RFQ.js # Request for Quotation schema
β βββ Quotation.js # Vendor quotation schema
β βββ PurchaseOrder.js # PO schema (auto tax calc)
β βββ Invoice.js # Invoice schema (auto GST calc)
β βββ Activity.js # Audit log schema
βββ routes/ # Express route handlers
βββ middleware/ # Auth middleware (JWT verify)
βββ seed.js # Database seeder (wipe + reseed)
βββ index.js # Server entry point
- Node.js 18+
- MongoDB (local or Atlas)
# Install server dependencies
cd server
npm install
# Install client dependencies
cd ../client
npm installCreate server/.env:
MONGO_URI=mongodb://localhost:27017/vendorbridge
JWT_SECRET=your_super_secret_key
PORT=5000cd server
node seed.jsThis will:
- Wipe all existing data
- Create 4 users (admin, manager, procurement officer, vendor)
- Create 25 vendors across 6 categories
- Create 12 RFQs with varied statuses
- Create 33 quotations with multi-vendor responses
- Create 5 Purchase Orders and 5 Invoices
# Terminal 1 β Start backend (port 5000)
cd server
npm run dev
# Terminal 2 β Start frontend (port 5173)
cd client
npm run devOpen http://localhost:5173 in your browser.
The UI is built with a fully custom CSS design system supporting dark and light themes:
- Dark mode (default): Deep navy backgrounds (
#0c0c14), indigo primary (#6366f1), emerald accent - Light mode: Clean white surfaces, rich indigo primary (
#4f46e5), proper contrast - Toggle between themes using the βοΈ/π button in the top navigation bar
- All CSS variables defined in
client/src/index.cssunder:root(dark) and[data-theme="light"] - Smooth transitions on theme switch via
transition: background/color 300ms ease
- Passwords hashed with bcrypt (12 salt rounds) via Mongoose pre-save hook
- JWT tokens stored in localStorage with role-based route guards
- Protected routes check role against required permissions before rendering
- All API requests include Bearer token via Axios interceptor
The utils/aiEngine.js module powers intelligent procurement decisions:
- Vendor Risk Score β Composite score from rating, delivery reliability, rejection rate
- Quotation Recommendation β Multi-factor scoring: price (40%), delivery (25%), vendor score (35%)
- Best Vendor Suggestion β Highlights top-ranked quotation with score breakdown
- All scoring is deterministic and runs client-side β no external API calls
- Fallback to demo data β If the API is unreachable, pages fall back to hardcoded demo fixtures so the UI is always demonstrable
- Custom ConfirmDialog β All destructive actions (delete vendor, delete RFQ, accept quotation) use a centered modal with blur backdrop instead of
window.confirm() - Real stat counts β Dashboard and Approvals page stats always reflect live database counts, not static numbers
- No email functionality β Invoice email sending has been removed; invoices are view/download only