This project provides a backend system to manage books, categories, users, and user reviews. It supports user registration and login, role-based access control (Guest, Registered User, Admin), integration with Google OAuth for external login, and an AI feature to analyze the sentiment of user reviews.
- CRUD operations for:
- Books
- Categories
- Users
- Reviews
- Input validation and error handling
- Users can register and log in with email and password.
- Passwords are securely hashed.
- JSON Web Token (JWT) is used for secure session management.
- Role-based access control:
- Guest
- Registered User
- Admin
- Google OAuth: Users can log in using their Google accounts.
- To run the Front End (Install NodeJS before run):
# Install HTTP Server (install once)
npm i -g http-server
# Run this when you want to run the Front End
http-server -p 3000Note: Run the script in the front-end folder
- NLP Sentiment Analysis: Basic sentiment analysis using Python
TextBloblibrary to automatically classify user reviews as positive or negative, providing reasoning based on text polarity and subjectivity. - To run the Python API:
py -m uvicorn sentiment_analysis:app --reloadNote: Run the script in the AI-feature folder
- Java 17+
- Spring Boot
- Spring Security
- JWT
- OAuth 2.0 (Google)
- JPA
- Maven
- Python
TextBloblibrary andFastAPI