๐Ÿ—๏ธ Acceptance Criteria - fuhui14/SWEN90017-2024-TAP GitHub Wiki

๐Ÿ—๏ธ Acceptance Criteria

Epic 1: File Upload

US ID AC ID User Story Given When Then
1.1 1.1.1 As a User, I want to upload audio files so that I can transcribe audio files. I have an audio file that I want to transcribe and an upload interface on the platform I select the audio file and click the "Upload" button The file is successfully uploaded, and a progress bar appears showing the transcription process starting
1.2 1.2.1 As a User, I want to upload video files so that I can transcribe video files. I have a video file that I want to transcribe and an upload interface on the platform I select the video file and click the "Upload" button The file is successfully uploaded, and a progress bar appears showing the transcription process starting
1.3 1.3.1 As a User, I want to drag and drop files for upload so that I can quickly and easily upload files. I have a file I want to upload and a drag-and-drop area on the platform I drag the file to the drag-and-drop area The file is successfully uploaded, and a progress bar appears showing the transcription process starting
1.4 1.4.1 As a User, I want to input my email address to receive the transcription result so that I can get the results directly sent to my inbox. I have completed uploading my file and there is an email input field on the platform I input my email address and click the "Submit" button A confirmation message appears stating that the transcription result will be sent to the provided email
1.5 1.5.1 As a User, I want to select a format for the output file so that I can receive the transcription in my preferred format. I have uploaded my file and an option to select the output format is available I select the desired output format from the dropdown menu and click "Save" A confirmation message appears stating that the transcription will be delivered in the selected format

Epic 2: Transcription Processing

US ID AC ID User Story Given When Then
2.1 2.1.1 As a User, I want the system to handle multiple file transcriptions using a queue so that multiple requests are processed eventually. Multiple files are queued for transcription in the system The system processes each file in the queue The files are processed one by one, and their progress is displayed until all files are transcribed
2.2 2.2.1 As a User, I want to use the up-to-date OpenAI Whisper model so that I can receive the most accurate transcription result. The latest Whisper model is integrated into the system A transcription request is made The transcription result is provided using the latest Whisper model with improved accuracy
2.3 2.3.1 As a User, I want to watch transcribed results in a conversation form so that I can easily follow and understand the dialogue structure. A transcription result is ready to be viewed I open the transcription result page The result is displayed in a conversation format with clear dialogue structure
2.4 2.4.1 As a User, I want to differentiate speakers labeled as "Speaker 1, 2, 3, etc." so that I can easily identify who said what in the transcript. A transcription result includes multiple speakers I view the transcription result Each speaker is labeled distinctly as "Speaker 1," "Speaker 2," etc., making it clear who said what
2.5 2.5.1 As a User, I want to select different transcription languages so that I can transcribe audio in different languages depending on my region or the language of my research team. A language selection dropdown is available I select the desired transcription language and click "Apply" The audio is transcribed in the selected language, and the result is displayed accordingly
2.6 2.6.1 As a User, I want to receive transcriptions in my preferred language (e.g. Chinese) so that I can receive transcription services in my preferred language, enhancing accessibility and usability for a global audience. I have set my preferred language in the system settings I submit an audio file for transcription The transcription result is provided in the selected language
2.7 2.7.1 As a User, I want to see a progress bar on the web page while my file is being processed so that I can understand the processโ€™s status and estimate how long the processing will take. A file is being processed The system displays a progress bar on the processing page The progress bar updates in real-time, reflecting the current status of the transcription process

Epic 3: Transcription Result Forwarding

US ID AC ID User Story Given When Then
3.1 3.1.1 As a User, I want to receive transcription results through email so that I can get the results conveniently. A transcription is complete and my email is registered The system sends the transcription result to my email I receive an email with the transcription result attached or linked
3.2 3.2.1 As a User, I want to receive system error reports through email so that I am informed if my transcription request fails. A transcription request fails during processing The system generates an error report The error report is sent to my registered email address, detailing the issue
3.3 3.3.1 As a User, I want to receive transcription in 'txt' format so that I can use it with most text processing tools. The transcription is complete I select 'txt' as the output format and click "Download" The transcription is downloaded in 'txt' format with proper line breaks and character encoding
3.4 3.4.1 As a User, I want to receive transcription in 'docx' format so that I can use it in a professional document format. The transcription is complete I select 'docx' as the output format and click "Download" The transcription is downloaded in 'docx' format with professional document styling

Epic 4: File Management

US ID AC ID User Story Given When Then
4.1 4.1.1 As a User, I want to save transcription result files in the local database automatically so that I can access them later if needed. A transcription is complete and the system is connected to the local database The transcription result is saved automatically The transcription result is stored in the local database and accessible from the history page
4.2 4.2.1 As a User, I want to have my old files automatically cleaned up after 30 days so that storage is efficiently managed, and outdated files are removed. Files have aged 30 days The system's cleanup process runs automatically Outdated files are deleted, and storage is freed up
4.3 4.3.1 As a User, I want to access an admin portal to see the history record so that I can manage and review past transcriptions. The admin portal is accessible, and I have the correct permissions I log in to the admin portal and navigate to the history section The system displays the history of all transcription records with options to sort, filter, and review
4.4 4.4.1 As a User, I want to receive a link through email to enter the admin portal so that I can securely access the portal. I have requested access to the admin portal The system sends a secure link to my email The link grants secure access to the admin portal, and I can log in
4.5 4.5.1 As a User, I want to download history transcription result files from the portal so that I can access previous transcriptions if needed. I have accessed the admin portal and navigated to the history section I select a transcription file and click "Download" The selected transcription file is downloaded to my device
4.6 4.6.1 As a User, I want to see the expiration date of my transcription files in the admin portal so that I can know when my files will be automatically deleted. I have accessed the admin portal and viewed the transcription history I view the file expiration dates displayed next to each transcription file The system accurately displays the expiration dates for all stored files, allowing me to take necessary actions before deletion