The Rock Albums web application is designed for rock music enthusiasts. It serves as a platform where users can discover, explore, and interact with their favorite rock albums. The application targets music lovers, collectors, and fans with a specific interest in rock music.
Users and guests can browse a collection of rock albums, including classic favorites, new releases, and hidden gems. They can access detailed information about each album, including artist, title, release year, genres, and tracks. For the purpose of the project, ten albums are used.
To contribute reviews and ratings, users need to register and log in to the system. This process ensures user authenticity and encourages accountability when posting reviews. Users have the option to browse through the collection as guests but will need to log in to participate in rating and reviewing.
The Rock Albums web application follows a client-server architecture.
- HTML, CSS, and JavaScript: These fundamental web technologies are used for structuring and styling the application's interface and implementing dynamic functionalities.
The application's back-end handles data storage, processing, and communication with the front-end. The chosen technologies include:
- Java: This serves as the core language for back-end development.
- Spring Boot: This is used to facilitate rapid development, dependency management, and RESTful API implementation.
- Spring Data MongoDB: This library provides seamless integration between the Spring Boot application and the MongoDB database, simplifying data access and manipulation.
MongoDB is used to store and retrieve album information, reviews, ratings, and user registration data.
By leveraging these technologies, the Rock Albums web application provides a seamless, engaging experience for rock music enthusiasts, enabling them to discover, review, and bond over their shared love for rock albums.
//////////////////////////
//////////////////////////
//////////////////////////
//////////////////////////
//////////////////////////
//////////////////////////
//////////////////////////
//////////////////////////
//////////////////////////
You will need the following things properly installed on your computer.
- Java Development Kit (JDK) version 11
- Maven 3.3+
- MongoDB
This repository includes a dump of sample data for the Music API application. This data is stored in BSON format, which is a binary representation of JSON-like documents. To import this data into your local MongoDB instance:
- Navigate to the application directory and find the
dump/
directory in it. - Inside the
dump/
directory, there is a directory that corresponds to the database (music-api-db
). - Run the
mongorestore
command to import the data to your MongoDB database:
mongorestore --db music-api-db /path/to/your/dump/music-api-db
MongoDB will create the music-api-db
database if it doesn't already exist, and then import the data into that database.
Replace /path/to/your/dump/music-api-db
with the actual path to the music-api-db/
directory inside the dump/
directory. Please ensure your MongoDB server is running before executing the mongorestore
command.
git clone https://github.com/gdesiato/DLBCSPJWD01.git
this repositorycd DLBCSPJWD01
mvn clean install
to install the dependenciesmvn spring-boot:run
to start the application
The application will be running at http://localhost:8080
This project includes a set of unit tests that validate the functionality of the Album and Registration controllers. These tests make use of the JUnit and Mockito frameworks to create a controlled environment where the application's behavior can be evaluated.
To run these test cases, use the following Maven command:
cd DLBCSPJWD01
mvn test