We want to develop a social media platform dedicated to book enthusiasts and readers of all kinds, called BookMania. It serves as a virtual library where users can catalog and review the books they have read, as well as discover new titles based on their interests and reading history. The platform allows members to create personalized bookshelves, join discussion groups, and participate in reading challenges. It also provides a space for users to connect with friends, see their recommendations, and follow the authors.
The system should be built in such a way that it can be extended with extra functionalities later (modular) and allow for easy integration with other systems (API). Individual components of the system need to be scalable so that when the demand for that service increases, the service does not get overloaded (microservices). The system should be written in the Java programming language (version 15). The system should not have a graphical user interface (GUI); instead, all interactions with the systems are handled through the APIs. The system must be built with Spring Boot (Spring framework) and Gradle.
You can run the microservice by starting the Spring applications. Then, you can use Postman to perform different requests.