
This project was developed as part of my learning journey in web development. The main objective of this application was to manage the activities and services of a bookstore. The project was developed using Java Spring Boot and React.js.
Key Features
-
Authentication: Users (administrators) must provide their email and password to access the system, ensuring system security. the system has two roles: admin and user. the security of the system is ensured by the use of OIDC (OpenID Connect) provided by Okta as an identity provider.
-
Book Management: This feature allows for the creation of a book record, addition of book information, and verification of current stock status.
-
Management of messages sent by users: Add, modify, and delete messages sent by users.
-
Search for books: Search for books by title, author, or category.
-
Shelf Management: This feature allows for the creation of a shelf record, addition of shelf information, and verification of current stock status.
Screenshots
-
Hero Section: The hero section of the website displays the name of the bookstore and a brief description of the services offered.

-
Dashboard: The dashboard provides an overview of the system, including the number of books, the number of shelves, and the number of books currently in stock.

-
Seach Page: This feature allows users to search for books by title, author, or category.

-
Book Details with Reviews: This feature displays detailed information about a book, including the title, author, category, and price. Users can also view reviews and ratings of the book.

-
Contact Us Page: This feature allows users to send messages to the bookstore administrator.

Technologies Used
- Frontend: React.js, Tailwind CSS
- Backend: Java Spring Boot
- Database: MySql
- Authentication: OIDC (OpenID Connect) provided by Okta as an identity provider
The application is not yet production ready, but it is a work in progress.
The project is open source and contributions are welcome. Feel free to fork the project and submit a pull request if you would like to contribute.
If you have any questions or feedback, please feel free to reach out to me. I would love to hear from you!