ruxailab / RUXAILAB

RUXAILAB - Usability Testing and Heuristics Evaluation Conceptual learning
MIT License
45 stars 64 forks source link

Audio sentiment analysis #533

Open BasmaElhoseny01 opened 3 months ago

BasmaElhoseny01 commented 3 months ago

Sentiment Analysis for Moderated Usability Tests (Audio)

This is Pull Request related to the GSoC24 project Data Extraction for Sentiment Analysis from Usability Tests Contributor: Basma Elhoseny moderated by KarinePistili - Marc - Vinícius Cavalcanti

Prerequisites:

  1. Run npm install to install the new required packages.
  2. The Sentiment Analysis API project must be running. Check the ReadMe for instructions to run it (localhost:5000).

Files Modified:

  1. ./src/components/organisms/UserTestAnswer.vue – Added Audio Sentiment Tab to this page.
  2. ./src/controllers/BaseController.js – Added the function queryWithMultipleConditions() to fetch documents from a specified Firestore collection based on multiple query conditions.

Files Added:

Models:
  1. ./src/models/AudioSentiment.js – Model for the Audio Sentiment collection in Firebase.
Controllers:
  1. ./src/controllers/AudioSentimentController.js – Controller functions (CRUD) + Add/Delete Sentiment for Regions in the Audio Sentiment collection in Firestore.
Views:
  1. ./src/views/admin/SentimentAnalysisView.vue – Main view rendered when the Sentiment Analysis tab is selected.
Molecules:
  1. ./src/components/molecules/AudioWave.vue – Component for the audio wave that interacts with WaveSurfer.js library and shows the sentiment per region on the wave. It also adds functionalities like speed and volume controllers.
  2. ./src/components/molecules/ModeratedTestCard.vue – Component for displaying the email and avatar of the moderator and evaluator of the selected test.
Organisms:
  1. ./src/components/organisms/SentimentTranscriptsList.vue – List of transcriptions for each region with its sentiment.
  2. ./src/components/organisms/UserModeratedSentiment.vue – Parent component wrapping ModeratedTestCard, AudioWave, and SentimentTranscriptsList. It is the main component rendered by SentimentAnalysisView.

Next Steps:

  1. Deploy the Sentiment Analysis API to Google Cloud Run.
  2. Fix styling (UI) for this view.
sonarcloud[bot] commented 3 months ago

Quality Gate Failed Quality Gate failed

Failed conditions
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint