ReqBot is a Next.js web application that acts as an AI-powered business analyst. It helps users elicit, refine, and document project requirements through an intuitive conversational interface, complete with voice capabilities.
- Conversational Requirement Gathering: Engage in a natural conversation with ReqBot to describe your project needs.
- AI-Powered Requirement Extraction: At any point, the AI can analyze the conversation and automatically extract structured requirements, categorizing them as Functional, Non-Functional, and Domain-specific.
- Automated Report Generation: With a single click, generate a comprehensive and printable project report that includes:
- Executive Summary: A high-level overview of the project's goals.
- Detailed Requirements: A categorized list of all extracted requirements.
- Activity Diagram: A Mermaid.js-powered visual flowchart of the system's processes.
- Cost Estimation: A speculative breakdown of potential project costs, labor, and timelines.
- References: The conversation history that served as the source for the report.
- Framework: Next.js (App Router)
- AI/Generative: Google AI & Genkit
- UI: React, TypeScript, ShadCN/UI
- Styling: Tailwind CSS
- Speech Recognition: Web Speech API
fina-VEED.mp4
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
-
Clone the repository:
git clone https://github.com/your-username/reqbot.git cd reqbot -
Install NPM packages:
npm install
-
Set up environment variables for local development: Create a
.envfile in the root of your project and add your Google AI API key. You can get a key from Google AI Studio.# This file is for local development only and should not be committed to Git. GEMINI_API_KEY="your_google_ai_api_key_here"
Important: Add
.envto your.gitignorefile to prevent committing your API key.
To run the app in development mode, you need to run both the Next.js frontend and the Genkit AI flows concurrently.
-
Start the Next.js development server:
npm run dev
This will start the web application, typically on
http://localhost:9002. -
Start the Genkit flows (for debugging): To inspect your AI flows, run the following command in a separate terminal:
npm run genkit:dev
This allows the Next.js app to communicate with your AI flows and provides the Genkit Inspector UI at
http://localhost:4000.
After we've made changes to the code, those changes exist on your local machine. To save them to your GitHub repository, you'll need to commit them.
-
Stage your changes: This command adds all modified files to a staging area, preparing them for a commit.
git add . -
Commit your changes: This command saves your staged changes with a descriptive message.
git commit -m "feat: Describe the feature or fix you added" -
Push to GitHub: This command uploads your committed changes to your remote repository on GitHub.
git push
Follow these steps to deploy your application to Vercel directly from your GitHub repository.
- Go to vercel.com and sign up for a free account.
- During the sign-up process or from your dashboard, connect your GitHub account to Vercel.
- From your Vercel dashboard, click the "Add New..." button and select "Project".
- The "Import Git Repository" screen will appear. Find your
reqbotrepository in the list and click the "Import" button next to it.
Vercel is smart and will automatically detect that you are deploying a Next.js application. The default settings for the "Framework Preset" and "Build and Output Settings" should be correct. You do not need to change them.
This is the most important step to ensure the AI features work on your deployed site.
- Expand the "Environment Variables" section.
- Add a new variable:
- Name:
GEMINI_API_KEY - Value: Paste your Google AI API key here (the same one from your
.envfile).
- Name:
- Ensure the variable is available for all environments (Production, Preview, and Development).
- Click the "Add" button.
- Click the "Deploy" button.
- Vercel will now start building and deploying your application. You can watch the progress in the build logs.
- Once the deployment is complete, Vercel will provide you with a URL to your live application.
Your application is now live! Every time you push a new commit to your main branch on GitHub, Vercel will automatically redeploy the application with the latest changes.