Skip to content

Project Summary

Briefly about the team

Members of the team: * Arttu Hautala - Team leader and frontend developer * Jenna Penttilä - DevOps * Taavi Kalaluka- Backend developer / database * Roope Lappalainen - Test manager and frontend developer * Lauri Kosonen - Frontend developer * Juha Wirlander - SecOps and frontend developer

What did the customer order?

The goal of our project was to design and implement a functional tool that meets the requirements of our customer, LIPPA-program. This tool collects information about what SFIA skills and soft skills are real-life companies looking for when hiring new employees. With this information schools can emphasize the teaching of these skills during their courses.

What was the focus and how did the work progress?

Our team developed a cutting-edge solution called "Skill Collector" to tackle a challenge faced by companies when assessing the value of different SFIA skills and soft skills. Our web-based survey application enables company representatives to drag and rank these skills based on their perceived importance to their organization.

To ensure project success, we broke it down into 2-week sprints, with the first three focused on mapping out stakeholders and requirements, planning development, and creating a cost estimate. Once planning was complete, we spent the following four sprints implementing the application.

Our full-stack solution included a database for storing survey results, and we utilized the React JavaScript library for the frontend, while the backend was built with NodeJS and Express. We containerized the server using Docker and relied on Postgres for the database. With Skill Collector, companies can streamline their skills assessment process and make informed decisions about hiring, training, and development.

Used resources

  • Frontend: React
  • Backend: NodeJS, Express
  • Database: Postgres
  • Server: Ubuntu 22.4
  • Containerization: Docker & Docker-Compose
  • CI/CD: GitLab CI/CD
  • Visibility on the internet: Nginx
  • Cloud service: Pouta CSC
  • Feedback: Doorbell.io
  • Service Analytics: Plausible.io
  • Automated testing: Robot Framework

What was achieved?

The Skill Collector project has delivered outputs that can benefit not only the university graduates but also the organizations that are looking to hire them. Representatives of companies tested our product at a seminar and the feedback received was overwhelmingly positive. Additionally, students also tested it out and were of the opinion that such a tool would be valuable to them as well.

Demo

Problems

During the course of our project, we encountered several challenges that were largely due to our team's lack of experience with this type of endeavor. One of the most significant issues we faced was inaccurate budget planning, which resulted in underestimating the actual hours required to deliver the project's features. In hindsight, we should have taken a more realistic approach to budget planning to better allocate resources and stay within the project's financial constraints.

Another major challenge we faced was poor time management. We initially underestimated the amount of time required to implement all of the features we had planned, which caused delays and compromised the project's overall success. Had we spent more time on thorough planning and time management from the outset, we could have better anticipated these challenges and avoided unnecessary delays.

Looking back, we realize that we also overlooked the importance of evaluating the methods to be used for the frontend. This oversight led to issues with implementation that could have been avoided had we devoted more attention to planning. Despite these challenges, our team has learned valuable lessons from this experience and will use these insights to inform future projects.

Achievements/wins

Despite the tight timeline, our team was able to successfully deliver a fully functional web application. We worked tirelessly to ensure that all features were implemented and tested before the final delivery. Our team demonstrated good collaboration, communication, and dedication to the project, which ultimately led to its successful completion.

In addition to delivering a fully functional web application, we also managed to Dockerize the application, which enabled efficient deployment. Furthermore, we implemented an automated pipeline in GitLab, which streamlined the development process and ensured that new features and updates were implemented seamlessly.

What we learned as a team?

The team has gained valuable experience and skills through their work together. Here are some of the key lessons learned by each team member:

  • Lauri, Roope, Juha, and Arttu: These team members have learned how to work with React and CSS to build user interfaces. They have gained experience in creating reusable components, managing state and props, and using layout techniques. Additionally, Roope has also learned how to use Robot Framework for test automation, which is a valuable skill for ensuring the quality of software products.

  • Jenna has learned how to work using Docker as a testing and production server, configuring Nginx for reverse proxy, creating SSL certificates, debugging issues in Docker and Ubuntu, and setting up web application servers. She has also gained experience in integrating backend, API, and frontend components to create functional applications.

  • Taavi: Taavi has learned about backend development, which involves building server-side components of web applications. He has gained experience in designing and building APIs, working with databases, and optimizing performance.

All team members have also gained experience working in a team environment and using GitLab for collaboration and project management. They have learned how to communicate effectively, collaborate with others, and contribute to shared goals.