You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Product Requirements Document\n\n## Overview\nThe GenAI Chat Bot Solution serves as a Reverse Engineering Project Planning Assistant. It uses Semantic Kernel Chat Completion Agents to guide users through project planning by asking targeted questions and generating structured documentation based on user responses.\n\n## Target Users\n- Program Managers: To assist in planning and managing technical projects.\n- Software Developers: To guide technical planning and provide relevant documentation support.\n\n## Core Problem\nProgram managers and developers often face challenges in reverse-engineering requirements and planning projects effectively. This solution streamlines the process by providing structured guidance and generating comprehensive documentation.\n\n## Features\n\n### Frontend\n- Input Area:\n - Located at the bottom of the screen:\n - Text field for user queries.\n - Submit button on the right.\n - Clear button to reset input.\n- Chat History Display:\n - Scrollable area showing:\n - User queries aligned to the right.\n - API responses aligned to the left.\n- Hidden Sidebar:\n - Slides out on mouse hover over the left area.\n - Displays chat history for the session (grouped by day).\n - Includes an icon to start a new chat session.\n- Settings Dialog:\n - Accessible via a settings icon at the bottom of the sidebar.\n - Displays configuration options when clicked.\n\n### Backend\n- API Architecture:\n - Built with ASP.NET traditional controllers.\n - Utilizes Semantic Kernel Chat Completion Agents for GenAI capabilities.\n- Prompt Chain:\n - Guides users through structured questions (like the assistant's process).\n - Generates structured documentation, including PRD, frontend, backend, API, database schema, etc.\n\n## Technical Requirements\n\n### Frontend\n- Framework: Next.js version 18 with TypeScript.\n- UI Library: Material-UI or a similar component library.\n\n### Backend\n- Framework: ASP.NET Core traditional controllers.\n- Features:\n - Semantic Kernel integration for Chat Completions Agents.\n - REST API endpoints to handle chat and documentation requests.\n\n### Scalability\n- Designed for multiple concurrent users.\n- Caching for chat histories to optimize performance.\n\n## Next Steps\n1. Define backend architecture in detail.\n2. Outline the database schema for chat history and user settings.\n3. Determine state management strategy for frontend.\n4. Specify DevOps setup for deployment.\n\n---\n\n# Frontend Documentation\n\n## Framework\nNext.js version 18 with TypeScript\n\n## UI Features\n- Input Area:\n - Located at the bottom of the screen with:\n - A text field for user queries.\n - A submit button on the right.\n - A clear button to reset input.\n- Chat History Display:\n - Scrollable area showing:\n - User queries aligned to the right.\n - API responses aligned to the left.\n- Hidden Sidebar:\n - Slides out on mouse hover over the left area.\n - Displays chat history for the session (grouped by day).\n - Includes an icon to start a new chat session.\n- Settings Dialog:\n - Accessible via a settings icon at the bottom of the sidebar.\n - Displays configuration options when clicked.\n\n## UI Library\nMaterial-UI or a similar component library.\n\n## Additional Notes\n- Use server-side rendering (SSR) for initial page load performance.\n- Ensure responsive design to support desktop and mobile layouts.\n\n---\n\n# Backend Documentation\n\n## Framework\nASP.NET Core using traditional controllers\n\n## Features\n- API Endpoints:\n - Chat Completion Endpoint:\n - Receives user input.\n - Processes the input using Semantic Kernel Chat Completion Agents.\n - Returns structured responses to the frontend.\n - Documentation Generation Endpoint:\n - Guides users through structured prompts.\n - Generates documentation files (e.g., PRD, frontend, backend).\n\n- Prompt Chain:\n - Designed to ask targeted questions.\n - Stores user responses in a session-based format.\n\n- Session Management:\n - Tracks user sessions to provide consistent conversations.\n - Groups chat histories by day.\n\n## Semantic Kernel Integration\n- Chat Completions Agents:\n - Implemented to handle natural language understanding and response generation.\n - Optimized for project planning and documentation tasks.\n\n## Additional Notes\n- Use dependency injection to manage services.\n- Implement logging and exception handling for API stability.