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.
- 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
- 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
- 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
- Vite for fast development and building
- ESBuild for optimized production builds
- Drizzle Kit for database migrations
- TSX for TypeScript execution
- Node.js 18+ and npm
- PostgreSQL database
- OpenAI API key
- SMTP server access (for email functionality)
-
Clone the repository
git clone <repository-url> cd tr-ai-product-assist
-
Install dependencies
npm install
-
Environment Setup Create a
.envfile 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
-
Database Setup
npm run db:push
npm run devThe application will be available at http://localhost:5000
npm run build
npm startnpm run checktr-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
- Welcome Stage: User enters project name and overview
- Chat Stage: AI conducts intelligent requirements gathering through contextual questions
- Document Stage: Generate and download professional requirement documents
- Mockup Request: Optional form submission for project mockups
- 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
- 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
- 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
- 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
- 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
- Automated mockup request notifications
- Professional email templates
- SMTP configuration support
- Graceful fallback if email service is unavailable
- Update database schema in
shared/schema.ts - Run database migrations with
npm run db:push - Implement API endpoints in
server/routes.ts - Create frontend components in
client/src/components/ - Add API calls in
client/src/lib/api.ts
- Modify question generation logic in
server/ai.ts - Adjust essential questions array for different project types
- Update document generation prompts for different output formats
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
MIT License - see LICENSE file for details
Built with β€οΈ by Technology Rivers - Transforming ideas into intelligent solutions.