Skip to content

FEA-47-answers-database

Feature ID FEA47
Subsystem Database
Responsible person Niko Karvinen
Status Completed

Description

Skill Collector answers database feature includes designing a new database for the Skill Collector based on the one developed during the Future Factory course. This database should store the survey answers and be connected to Power Automate and Power BI.

User requirements

  • Database should store end user's hash and their answers. No personal data should be stored.

Technical requirements

  • Use PostgreSQL.
  • Database should run in a Docker container.
  • Database should be connected to Power BI for data analysis and visualization.
  • Power Automate should add new hashes to the database automatically. See FEA-43-power-automate-emailing for more details.
Use Case # 1 Creation of Hashes, Automated Email Generation and Delivery Skill Collector Database stores user hashes.
Use Case # 2 User Access and Interaction with the service The end user responses are stored in the Skill Collector database.
Use Case # 3 Skill Survey and Response Storage The end user responses are validated by the Skill Collector stored in the Skill Collector database.
Use Case # 4 Data Visualization Necessary data is retrieved from the Skill Collector Database by Power BI.

Preliminary user stories

  • [ ] I think we may need it

Database visualization

Database structure

Testing

Test case Test source Responsible
TC-47-001 - Database structure FEA-47-answers-database Alena Galysheva
TC-47-003 - Database API FEA-47-answers-database Alena Galysheva

Acceptance Criteria

Acceptance Criteria Notes
The database stores accurately the data received from the Skill Collector without any loss or corruption.
When the answers have been sent to the database, the user will see the "Answers succesfully saved" message.
If an error occurs when trying to submit answers, correct message is shown to the user.
If an error occurs when trying to input hash, correct message is shown to the user.
The import process is efficient and performant. The time taken to import the data to database is within acceptable limits (2 sec).
The database is able to scale to accommodate future growth in data volume and user activity.
Only the hash and the user's answers are stored in the Answer database