Personal

Software Engineering: TeacherFinder

22 December 2021

Semester project for the Software Engineering course @ UniTrento. Developed using Vue.js as front-end, Express.js as back-end and documented using Swagger.

Software Engineering at UniTrento is organized in two parts: a small theoretical part, and a much larger practical part that takes place in parallel with the progression of the theory.

The practical part itself consists in two phases: the first phase is forming a group of max. 4 people and inventing a product to develop, and write the project requirements for it. The second phase consists in switching projects with another group, and developing the other group’s project, while the other group develops yours.

The project we were assigned is called TeacherFinder, and it’s a web app for students to find personal tutors and for tutors to advertise their services. The project is developed using Vue.js as front-end, Express.js as back-end and documented using Swagger.

Development & Design Choices

Although it was not required, we had fun building a kind-of visually appealing product, and we struggled to make it as userfriendly and responsive as possible.

The result is kind of basic, because of the limited amount of time we had to develop it, but we’re still proud of it. It’s mobile-first design, but being responsive it works well on desktop and tablets too.

Screenshot: TeacherFinder Home Page
Main Page: Search Ads
Screenshot: TeacherFinder Posting Detail Page
Viewing an ad
Screenshot: TeacherFinder Profile Page
A user profile page
Screenshot: TeacherFinder Settings Page
The account settings

Roles

Most of front-end development was done by me and later reviewed by the other team members, while the back-end was developed in cooperation with @riklus. The API design and its documentation was done by @framcesca.

Conclusions

I feel like I can confidently say that looking back, if Svelte had existed at the time, I would have used it a hundred times over. Vue.js is a good framework, but the developer experience with Svelte & SvelteKit is just so much better in every way.

There’s really not much more to it. If you want, you can check out the GitHub repository.