Skip to content

techrivers/AI-Requirements-Gathering-Tool

Repository files navigation

SideKickPro Product Assistant

A comprehensive AI-powered tool for gathering software requirements and generating professional documentation. This application streamlines the requirements gathering process through intelligent conversations and automatically generates detailed requirement documents.

πŸš€ Features

  • Interactive Requirements Gathering: AI-powered conversational interface that intelligently asks relevant questions based on your project type
  • Smart Question Generation: Contextual questions that adapt to your responses and ensure comprehensive coverage of all essential topics
  • Professional Document Generation: Automatically creates detailed requirement documents with executive summaries, functional requirements, and technical specifications
  • PDF Export: Download beautifully formatted PDF documents with professional styling
  • Mockup Request System: Built-in form system for requesting project mockups with email notifications
  • Modern UI/UX: Clean, responsive interface built with React and Tailwind CSS
  • Database Persistence: PostgreSQL-backed storage for conversations, messages, and documents

πŸ› οΈ Tech Stack

Frontend

  • React 18 with TypeScript
  • Tailwind CSS for styling with custom design system
  • Radix UI components for accessibility and consistency
  • Wouter for client-side routing
  • React Query for server state management
  • React Hook Form with Zod validation
  • Framer Motion for animations

Backend

  • Node.js with Express.js
  • TypeScript for type safety
  • PostgreSQL with Drizzle ORM
  • OpenAI GPT-4 for intelligent conversation and document generation
  • PDFKit for PDF generation
  • Nodemailer for email functionality
  • WebSocket support for real-time features

Development & Build

  • Vite for fast development and building
  • ESBuild for optimized production builds
  • Drizzle Kit for database migrations
  • TSX for TypeScript execution

πŸ“‹ Prerequisites

  • Node.js 18+ and npm
  • PostgreSQL database
  • OpenAI API key
  • SMTP server access (for email functionality)

πŸ”§ Installation

  1. Clone the repository

    git clone <repository-url>
    cd tr-ai-product-assist
  2. Install dependencies

    npm install
  3. Environment Setup Create a .env file in the root directory:

    # Database
    DATABASE_URL=postgresql://username:password@localhost:5432/dbname
    
    # OpenAI
    OPENAI_API_KEY=your_openai_api_key_here
    
    # Email (optional)
    EMAIL_HOST=smtp.gmail.com
    EMAIL_PORT=587
    EMAIL_USER=your_email@gmail.com
    EMAIL_PASS=your_app_password
  4. Database Setup

    npm run db:push

πŸš€ Usage

Development

npm run dev

The application will be available at http://localhost:5000

Production Build

npm run build
npm start

Type Checking

npm run check

πŸ“ Project Structure

tr-ai-product-assist/
β”œβ”€β”€ client/                 # React frontend application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/     # React components
β”‚   β”‚   β”‚   β”œβ”€β”€ ui/        # Reusable UI components (Radix)
β”‚   β”‚   β”‚   β”œβ”€β”€ welcome-stage.tsx    # Project setup stage
β”‚   β”‚   β”‚   β”œβ”€β”€ chat-stage.tsx       # Requirements gathering chat
β”‚   β”‚   β”‚   └── document-stage.tsx   # Document generation & download
β”‚   β”‚   β”œβ”€β”€ pages/         # Main application pages
β”‚   β”‚   β”œβ”€β”€ lib/           # Utilities and API client
β”‚   β”‚   └── hooks/         # Custom React hooks
β”‚   └── index.html
β”œβ”€β”€ server/                # Node.js backend
β”‚   β”œβ”€β”€ index.ts          # Application entry point
β”‚   β”œβ”€β”€ routes.ts         # API route definitions
β”‚   β”œβ”€β”€ ai.ts             # OpenAI integration
β”‚   β”œβ”€β”€ db.ts             # Database connection
β”‚   β”œβ”€β”€ pdf.ts            # PDF generation logic
β”‚   β”œβ”€β”€ email.ts          # Email functionality
β”‚   └── storage.ts        # Database operations
β”œβ”€β”€ shared/                # Shared TypeScript schemas
β”‚   └── schema.ts         # Database schemas and types
β”œβ”€β”€ migrations/            # Database migration files
β”œβ”€β”€ uploads/              # Generated PDF storage
└── attached_assets/      # Project assets and screenshots

πŸ”„ Application Flow

  1. Welcome Stage: User enters project name and overview
  2. Chat Stage: AI conducts intelligent requirements gathering through contextual questions
  3. Document Stage: Generate and download professional requirement documents
  4. Mockup Request: Optional form submission for project mockups

πŸ€– AI Features

Intelligent Question Generation

  • Contextual questions based on project type and previous responses
  • Ensures coverage of essential topics: technology stack, timeline, budget
  • Adapts questioning strategy based on conversation flow
  • Fallback mechanisms for reliable operation

Document Generation

  • Comprehensive requirements documents with professional formatting
  • Executive summaries, functional requirements, and technical specifications
  • Tailored content based on gathered requirements
  • PDF export with clean, professional styling

πŸ“Š Database Schema

Core Tables

  • conversations: Project sessions and metadata
  • chat_messages: Conversation history with question indexing
  • requirement_documents: Generated documents and PDF references
  • mockup_requests: User information for mockup requests

πŸ” Security Features

  • Input validation with Zod schemas
  • SQL injection prevention through Drizzle ORM
  • Secure file handling for PDF generation and storage
  • Environment variable protection for sensitive credentials

🎨 UI/UX Features

  • Responsive Design: Works seamlessly across desktop and mobile devices
  • Custom Color Scheme: Professional blue theme with Technology Rivers branding
  • Smooth Animations: Framer Motion powered transitions
  • Accessibility: Radix UI components ensure WCAG compliance
  • Toast Notifications: User feedback for all actions
  • Loading States: Clear indicators for async operations

πŸ“§ Email Integration

  • Automated mockup request notifications
  • Professional email templates
  • SMTP configuration support
  • Graceful fallback if email service is unavailable

πŸ› οΈ Development

Adding New Features

  1. Update database schema in shared/schema.ts
  2. Run database migrations with npm run db:push
  3. Implement API endpoints in server/routes.ts
  4. Create frontend components in client/src/components/
  5. Add API calls in client/src/lib/api.ts

Customizing AI Behavior

  • Modify question generation logic in server/ai.ts
  • Adjust essential questions array for different project types
  • Update document generation prompts for different output formats

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

πŸ“ License

MIT License - see LICENSE file for details

πŸ”— Links


Built with ❀️ by Technology Rivers - Transforming ideas into intelligent solutions.

About

An intelligent requirements gathering platform that uses AI-powered conversations to extract project specifications and automatically generates professional documentation with PDF export capabilities. Features contextual question generation and real-time WebSocket collaboration. Demo Video: https://youtu.be/RZ-CxRpCtj8

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages