The Whole Quote World
- Java 17, Eclipse Temurin (former AdoptOpenJDK) is recommended: https://adoptium.net/temurin/releases?version=17
- Spring Boot 3.1.4 or use Maven Wrapper instead
- MySQL (Local or Docker image)
Maven Wrapper allows you to use the version of Maven required by the project without installing it. It will
automatically download required Maven version (3.9.4), and will use it to build the project. Automatically downloaded
versions are saved into ~/.m2/wrapper/dists
folder.
To use Maven Wrapper just replace mvn
with ./mvnw
in your scripts.
In case, you want to utilize MySQL Docker Image.
Follow this guide Docker Install to install docker on your local machine.
Run MySQL as a container with the following command:
docker run mysql
kube
- Holding the necessary Kubernetes YAML files.src
- Source Codecontrollers
- App controllerscore
- Common constantscrawl
- Data crawler toolmodel
- App entitiesrepositories
- Repositories that implement business logics with DBservices
- Services that implement business logics
resources
- UI resourcesstatic
- Static resources (JavaScript, CSS, images)templates
- Thymeleaf UI templates
test
- Testing Components
The crawling executor tool is used to initially crawl and populate the project's database.
It's necessary only during the project setup.
To activate it, simply set crawling.executor.enabled to true in the application.yaml file.
The crawled data contains unnecessary characters; we can optimize the crawling approach for efficiency.
The app loads sample data from the data.sql file into the database when it starts.
Displaying celebrity images as clickable options.
Upon clicking a celebrity, users are redirected to a page featuring that celebrity's exclusive quotes.
Providing images for Quote Collections as clickable options.
When a collection is clicked, users will be directed to a Quotes page exclusively showcasing quotes belonging to that
collection.
Displaying all the quotes from celebrities and favorite quotes from around the world.
Providing images for Quote Topics as clickable options.
When a topic is clicked, users will be directed to a Quotes page exclusively showcasing quotes belonging to that
topic.