User stories and requirements
i. User Story 1: Secure Login
As a user, I want to securely log in to the platform using my organization credentials.
- Requirement: Azure Active Directory (SSO) integration. (Need to be made principal of the cloud resource to register app to assign Azure Active Directory to it. This might be a bottleneck at IT and security policy. As a contingency, implement just normal email and password at first.)
As a user, I should have the ability to reset my password.
- Requirement: Password reset functionality integrated with email notifications.
ii. User Story 2: Document Upload
As a user, I want to be able to upload individual (.pdf, .docx) or multiple documents to the platform for each chat instance.
- Requirement: Secure file upload mechanism with progress indicators.
iii. User Story 3: AI-powered Chat Interface
As a user, I want to ask questions in natural language about the uploaded document or documents.
As a user, I should have a history of my previous chats and the documents associated with that chat so that I can go back and interact with it again.
As a user, I should be able to create new chat instances to load new files, and I should be able to delete old chat instances and their associated file data.
- Requirement: Chat-style interface for querying documents, creating new chat instances, and deleting old chat instances.
iv. User Story 4: Prompt Engineering Training
As a user, I want to receive suggestions on how to refine my prompts for better AI responses.
As a user, I want to use predefined prompt templates and save my own.
- Requirement: Static prompt suggestion/guidance mechanism.
v. User Story 5: Data Retention and Privacy
As a user, I want my uploaded documents and chats only visible to me. As a user, I agree to the 48-hour data retention policy of Azure AI service. Thereafter it is purged from Azure's AI service and only kept in self-controlled virtual network and service instances which are isolated blobs and databases are encrypted at rest where I have full control of the audit logs and retention of data.
- Requirement: Strict data segregation and access controls. Popup or terms and conditions to indicate the 48-hour data retention policy.
vi. User Story 6: Basic User Management
As an admin, I want to view, add, remove, and edit users on the platform.
As an admin, I want to be able to view logs of prompts made by specific users to gain insights into how the system is used (Not for MVP).
- Requirement: Simple admin interface for user management.
vii. User Story 7: Basic Profile Management
As a user, I want to view, add, and edit my profile data.
- Requirement: Simple modal interface for profile management.
viii. User Story 8: Notifications
As a user, I want to receive notifications for important events, such as successful document uploads or password reset confirmations.
- Requirement: Email and in-app notifications for key events.
ix. User Story 9: Usage Analytics
As an admin, I want to see usage statistics to understand how the platform is being used and identify areas for improvement.
- Requirement: Dashboard for viewing usage analytics (future enhancement, not for MVP).
x. User Story 10: Document Management
As a user, I want to organize my uploaded documents into folders or categories for easier management.
- Requirement: Folder/category management system for uploaded documents (future enhancement).