Skip to content

Release Note

Skill Collector v1.0

Version and compostion

You can find service from: https://vm4404.kaj.pouta.csc.fi/

System overview

Front end + libraries

  • Vue.js v3.2.45
  • Node v18.14.0
  • vue-router v4.1.6
  • pinia v2.0.32
  • plausible-tracker v0.3.8
  • vue3-spinner v0.0.16
  • Typescript v4.7.4
  • SASS v1.57.1
  • Vite v4.0.0

Backend + libraries

  • express v4.18.2
  • body-parser v1.20.2
  • dotenv v16.0.3
  • http-proxy-middleware v2.0.6
  • mz v2.7.0
  • pg v8.10.0

Database

  • postgreSQL v12.14

Containers

  • it-ff-2023-t03/dockeri/tuix - Admin panel
  • it-ff-2023-t03/dockeri/e21b3573deaa - postgreSQL with our schema and configuration inside it
  • it-ff-2023-t03/dockeri/backi - Frontpage and Backend in the same container
  • docker-compose.yml pulls and configures database first, linking it to local disk. Once that is done the service will be built to work immediately. It will connect to database automatically. Once everything is done the admin panel will start running on background.

Servers

  • The servers are cPouta virtual machines
  • The operating system on the servers is Ubuntu 20.04.6

TUIX

  • Python v3.9

Features and functionalities

  • FEA01-Backup-System 1.0

    • postgreSQL container database is linked to local directory upon launching the container. Production server has a cron that takes incremental hourly backup and names it database-Y-M-D format. Backup server connects to production server and saves the backup exactly the same way every 1h 30min. Backups older than 60 days are set for deletion to maintain disk space. Logs are transferred via same mechanism.
  • FEA02-Service-Analytics 1.0

    • We chose Plausible Analytics for our end user analytics. It's a open-source and privacy oriented solution for collecting usage data.
  • FEA03-Customer-Feedback-system 1.0

    • A feedback system implemented with the doorbell.io service and integrated with Skill Collector. The user of Skill Collector can give feedback about the service, after which the feedback can be viewed, or the feedback can be sent as an issue to GitLab's repository.
  • FEA04-GDPR-Info 1.0

    • The application contains GDPR information, which can be opened at any time while on the page. It tells the user what data is collected and how it is processed.
  • FEA05-Log-Management-System 1.0

    • Log backups will be transferred from production to backup server by backup server logging into production every 12 hours. Production has no way to get into backup server.
  • FEA06-Service-Containerized

    • Service is containerized into 3 separate customized private docker containers and stored in gitlab. Maintainers are able to access it through docker login gitlab.labranet.jamk.fi:4567 and authenticating. Once authentication has been done server administration can run docker-compose up --build -d to launch the service. It will work as intended without extra steps needed.
  • FEA07-Service-Regression-Test-Automatized

    • A .robot script that can be run every time something is changed in the service. Tests all of the functional features in the front-end of the service (hash-check, skill info view, skill selection view, GDPR info, feedback system, and skill highlight).
  • FEA08-Service-Production-Environment

    • Production environment has been set, it runs on CSC Pouta using Ubuntu 20.04.6 LTS, 80GB disk space and 3VCPU as it's base image. Credits for running the server without additional investments so far lasts a year or so. It is possible to allocate more disk space for production and backup server without extra costs.
  • FEA09-Service-Testing-Environment

    • Service has been tested and developed both locally and in CSC Pouta. Test-server still exists but the floating IP address has been allocated for production.
  • FEA10-Secured Connection 1.0

    • The service uses an HTTPS connection. Certificates are provided by Let's encrypt.
  • FEA11-Service-Domain-Name

    • SDN is automatically allocated during creation. https://vm4404.kaj.pouta.csc.fi/
  • FEA20-skill-info-view

    • The user can see additional information about the skill by moving the cursor over the name of the skill. Additional information is retrieved from the database.
  • FEA21-skill-selection-view

    • A view where the user can select a certain number of skills. The view is optimized for desktops.
  • FEA22-data-csv-exporter 1.0

    • TUIX Admin panel function. Collected answerdata can be exported as .csv and analyzed in various different platforms ie. pandas.
  • FEA23-skill data-importer 1.0

    • TUIX Admin panel function. SFIA skill descriptions and such are updated from time to time and TUIX can parse the skill-data from SFIAs excel file.
  • FEA24-user-management 1.0

    • TUIX Admin panel function. These "users" are the end users who use their hash in Skill Collector. TUIX has CRUD functionalities to add one or many hashes to the postgreSQL database.
  • FEA26-User-Authorization-1.0

    • Only the admin user can access the service
  • FEA27-Admin-Panel 1.0

    • TUIX Admin Panel. Server-side software running containerized. Can be used to CRUD the database, do security checks and check the latest situation of used/unused hashes.
  • FEA28-Skill-Search

    • The user can high light a certain category of skills. High lights can be removed by clicking the clear button.
  • FEA29-Softskill-selection-view

    • A view where the user can select a certain number of soft skills. The view is optimized for desktops.
  • FEA30-Progress-Bar

    • The user can track their progress in the service from the progress bar located in the upper left corner.

Fixed bugs

  • #157 The survey can be accessed without a correct hash
  • #158 TUIX doesn't show used hashes
  • 160 Bug: Tuix can add empty hash
  • #161 TUIX "Check latest" doesn't show anything on "day"
  • #178 Selection counter not working properly

Remaining bugs

  • #162 BUG: Tuix SFIA importer breaks tuix if SFIA file has errors.
  • #163 BUG: Tuix add hashes from file if error it breaks db connection