Position: Junior Java Developer
Category: Java
English level: pre
Years of experience: 0


Coursework of GeekHub Java for Web 
The "Lyrics Search" project is a web service that allows users to search for song lyrics, add new lyrics, view song charts, and perform various other functions.

Technologies, Frameworks, and Dependencies:
Programming Language: Java (version 17)
Framework: Spring Boot (version 3.1.0)
Authentication and Authorization: Spring Security
Client Interaction: Spring MVC,REST
Database Operations: JPA
Build Tool: Gradle

The "Lyrics Search" project is a web service that allows clients to interact with the application using the principles of REST  in conjunction with Spring MVC.

The project leverages Spring MVC, a framework for building web applications, which handles the processing of HTTP requests and responses. It includes components such as controllers, models, and views to handle client requests and provide responses.

In the context of the "Lyrics Search" project, Spring MVC is utilized to create various endpoints that expose functionalities such as song search, lyrics submission, chart viewing, and more. REST serves as the underlying architecture for the web service, enabling clients to make requests to these endpoints and exchange data between the client and server using HTTP methods such as GET, POST, PUT, DELETE.

The project's core features include:

User Registration and Authentication:

- Users can sign up for an account and authenticate themselves to access the service.
Song Search and Chart Viewing:

- Users can search for songs based on different criteria and view song charts, which display popular songs or songs ranked by ratings.
Lyrics Management:

- Users have the ability to contribute new song lyrics to the database, suggest alternative versions of existing lyrics, and leave comments on lyrics.
Admin Panel:

- Administrators are provided with an admin panel that allows them to review and approve proposed new song lyrics. They can also manage artist information, song genres, and user accounts.

The project incorporates Java (version 17) and utilizes Spring Boot (version 3.1.0) as the main framework. Spring Security is employed for authentication and authorization purposes, ensuring secure access to the system. Additionally, JPA is used for interacting with the database.