Educational project for the Spring course on Skillbox.
The project represents the implementation of the website backend and the modification of the frontend. The site provides the ability to view lists of books, rate a book, user authorization, phone and email verification, user purchases of books.
Note
The frontend files were provided by the course developers, but they were modified for some tasks.
In these readme: The main parts of the project (Structure), Screenshorts, Technologies Stack
*indicating the main files
- Sorted by rating
- Sorted by publication date
- Sorted and filtered by user purchases
- Filtered by author
- Filtered by genre
- Filtered by tag
- Filtered by searching word
- Description, Authors, Tags, Price
BooksController.java
- Rating
BookAssessmentService.java
- Download links
ResourceStorage.java
- Reviews
BookReviewService.java
- Review assessment
- Buttons for postpone and buy the book
Book2UserService.java
- Via email or phone number using JWT
- Via facebook account using OAuth2
- Phone number verification with Twilio
- Email verification with Gmail
- User data changing
- User transactions and top up the account
PaymentService
- Book purchase with Robokassa
- Java 17
- Spring boot 3.2
- Spring MVC
- Spring Security, JWT, OAuth2
- Spring Data JPA
- Hibernate
- PostgreSQL
- JUnit, Selenium
- Maven
- Open API 3
- Thymeleaf
- HTML
- CSS
- JQuery