Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kofa-yoh/mybookshopapp

Educational project for the Spring course on Skillbox
https://github.com/kofa-yoh/mybookshopapp

hibernate open-api spring-boot spring-data-jpa spring-mvc spring-security thymeleaf

Last synced: 25 days ago
JSON representation

Educational project for the Spring course on Skillbox

Awesome Lists containing this project

README

        


Book Shop Website
In progress



Java
Spring Boot
Thymeleaf
PostgreSQL

Educational project for the Spring course Spring Framework 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

### Structure
*``indicating the main files``

#### Book Lists ``BookRepository.java``*
* 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

#### Book view
* 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``

#### User sign up, log in, log out ``SecurityConfig.java, AuthUserController.java``
* Via email or phone number using JWT
* Via facebook account using OAuth2
* Phone number verification with Twilio
* Email verification with Gmail

#### User profile
* User data changing
* User transactions and top up the account ``PaymentService``
* Book purchase with Robokassa

### Screenshots


Main page


Book page
Cart page


Profile page
Transaction page

### Stack

* 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