Manage Your Library Seamlessly: A Comprehensive Platform for Book Enthusiasts.
This Library and Book Management Application is your one-stop solution for everything related to books and libraries. Whether you're managing a personal collection or a community library, this app allows you to:
- Add, update, and delete books.
- Write, read, and moderate reviews and comments.
- Participate in reading challenges and track your progress.
- View exhaustive statistics on your reading habits.
- Collaborate and engage with other book lovers.
TL;DR:
- Easily manage your book collection with a user-friendly interface.
- Track and share your thoughts through reviews and comments.
- Engage in personalized or group reading challenges.
- Explore analytics for insights into your reading trends.
- Secure, scalable, and modern backend and frontend technologies.
After using this application:
- You'll save time managing your books and library operations.
- Collaborate better with fellow readers or members of your library.
- Gain valuable insights into reading patterns through analytics.
- Experience a delightful, organized reading journey.
The application uses a state-of-the-art tech stack for reliability and scalability, providing a seamless experience for users. Whether you're a casual reader, librarian, or book enthusiast, this app caters to all.
To support its versatile features, the application uses the following tech stack:
- Spring Boot (Backend) for API development and database management.
- React and TypeScript (Frontend) for a smooth and interactive user experience.
- PostgreSQL for relational database management.
- AWS S3 for storing book covers, images, and files.
- Amazon SQS for handling asynchronous processes like notifications and updates.
- Keycloak for secure authentication and role-based access control.
The architecture supports real-time updates, secure data handling, and a modular design to accommodate future enhancements.
- Book Management: Add, update, and organize your library effortlessly.
- Reviews and Comments: Share insights and engage in discussions with other readers.
- Reading Challenges: Create and join challenges to keep your reading habits exciting.
- Statistics and Insights: Understand your reading trends with daily, weekly, and yearly reports.
- Social Features: Connect and collaborate with friends, track shared challenges, and recommend books.
Mandatory Requirements:
- Java 21 or higher for backend development.
- Docker Engine and Docker Compose for setting up the local environment.
- Node.js and npm/yarn for frontend development.
- PostgreSQL for database setup.
Check your environment:
$ java -version
$ docker --version
$ node -v
$ npm -v
- Ensure your Docker Engine is running.
- Start required services with docker-compose up.
- Run the backend:
- Navigate to the
backend
directory. -
./mvnw spring-boot:run
- Navigate to the
- Frontend will be started with backend
- Access the application at
http://localhost:8080
. - Access Keycloak Admin (optional):
http://localhost:8888
.