
OneShare is a web-based platform for musicians, producers, and music enthusiasts. Users can create accounts and exchange information about the latest events in the music industry. OneShare offers a discussion forum for every genre. Users can publish posts and network with other users.
The project was developed in 2023 as part of a university course.
It is a classic 3-tier architecture with frontend, backend, and database. The requirement for the frontend was to use Vue.js. I was not very familiar with Vue before the project, but I was able to learn it quickly because I already had experience with React. The focus in the frontend was clearly on UI and UX. Before creating the frontend, I first designed it in Figma. Then I implemented the frontend in Vue myself. In addition to UI and UX, I also dealt with routing in Vue, data fetching, and a login system in the frontend.
The requirement for the backend was to use Spring Boot. Spring Boot is a Java framework that makes it relatively easy to develop REST APIs. The backend's task was to provide API endpoints for the frontend and execute the business logic.
The main task of the backend was to communicate with a database (PostgreSQL). For this, I used Hibernate, which helped me communicate with the database without having to write SQL queries directly.
Since the application had a login system and I did not use an external authentication service (such as Okta), I had to deal with Spring Security. With the help of Spring Security, I ensured that passwords were stored in the database in encrypted form rather than in plain text.
During development, I ran the applications locally via Docker. Finally, I deployed everything to render. However, the application is no longer online and is not being further developed.
This project was my first time working with Vue.js. Before the project, I already had experience with other front-end technologies such as React and Next.js. The project also helped me learn about Spring Security.
After I successfully completed the course and received a grade of 1.0 for the project, it was not further developed or maintained. Therefore, the versions here are probably outdated. I last worked on the project in 2023.