Skip to content

MohitBansal321/AI-Powered-RFP-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📋 AI-Powered RFP Management System

Automate your procurement workflow — generate RFPs from plain English, send them to vendors, and let AI compare proposals for you.

TypeScript NestJS React MongoDB Gemini


🚀 What This Does

Traditional RFP (Request for Proposal) processes are slow, manual, and error-prone. This system replaces that workflow with an AI-powered pipeline:

  1. Describe your need in plain English → AI generates a structured RFP
  2. Select vendors from your list → System sends RFPs via email automatically
  3. Vendors reply to the email → System parses their proposals with AI
  4. Compare proposals side-by-side with AI scoring on price, timeline, and fit

✨ Features

Feature Description
🗣️ Natural Language Input "I need 20 laptops for engineering, budget 50k" → structured RFP
📧 Email Automation Send RFPs and receive proposals via Gmail integration
🤖 AI Proposal Parsing Automatically extracts price, timeline, and terms from vendor emails
⚖️ AI Comparison Side-by-side scoring and recommendation across all proposals
🏢 Vendor Management Full CRUD for your vendor database
📖 Swagger Docs All API endpoints documented and testable at /api

🛠️ Tech Stack

  • Frontend: React 19, TypeScript, Vite, TailwindCSS
  • Backend: NestJS, Express, TypeScript
  • Database: MongoDB + Mongoose
  • AI: Google Gemini (@google/generative-ai)
  • Email: Nodemailer (SMTP) + imap-simple (IMAP) for Gmail
  • API Docs: Swagger / OpenAPI

⚡ Quick Start

Prerequisites

Backend Setup

cd backend
npm install
cp .env.example .env   # Fill in MongoDB URI, Gemini API key, Gmail credentials
npm run start:dev

Frontend Setup

cd frontend
npm install
cp .env.example .env   # Set VITE_API_URL=http://localhost:3000 if needed
npm run dev

Backend API: http://localhost:3000
Frontend: http://localhost:5173
Swagger Docs: http://localhost:3000/api


🏗️ Project Structure

AI-Powered-RFP-Management-System/
├── frontend/               # React + TypeScript + Vite UI
│   └── src/
├── backend/                # NestJS API
│   ├── src/
│   │   ├── rfps/           # RFP module (create, send, manage)
│   │   ├── vendors/        # Vendor CRUD module
│   │   ├── proposals/      # Proposal parsing & comparison
│   │   └── ai/             # Gemini integration service
│   └── .env.example
└── AI-Powered RFP Management System.pdf   # System design document

📡 API Overview

RFPs

Method Endpoint Description
POST /rfps Create RFP from natural language
GET /rfps List all RFPs
GET /rfps/:id Get single RFP
POST /rfps/:id/send Send RFP to vendors

Proposals

Method Endpoint Description
GET /proposals/rfp/:rfpId Get all proposals for an RFP
POST /proposals/check-emails Trigger email inbox check
GET /proposals/compare/:rfpId Run AI comparison

Example — Create RFP:

POST /rfps
{ "request": "I need 20 laptops for engineering team, budget 50k" }

🧩 Key Technical Decisions

  • MongoDB chosen for flexibility with AI-generated, semi-structured JSON data
  • Structured output prompting — LLM prompted for "ONLY JSON" with fallback markdown-stripping for reliability
  • Email IMAP polling — system checks inbox for vendor replies and auto-parses them
  • NestJS modules keep RFP, Vendor, Proposal, and AI logic cleanly separated

📄 License

MIT — feel free to use, fork, and build on this.


Built by Mohit Bansal · LinkedIn · askaide.in

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors