Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
RostyslavOnysh authored Oct 29, 2023
1 parent faebcf7 commit 29ebfe6
Showing 1 changed file with 20 additions and 20 deletions.
40 changes: 20 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Readers' Paradise: Your Bookish Heaven
# Readers' Paradise: Your Bookish Heaven πŸŒ„


## Welcome to Readers' Paradise - Your Bookish Heaven!
## Welcome to Readers' Paradise - Your Bookish Heaven! πŸ“šπŸ°

This application is a library and order management system for a bookstore.

## Project Technology Stack:
## Project Technology Stack: πŸ’»πŸ”§πŸ“š

* Programming Language Java
* Programming Language : ***Java***
* Framework: Spring Boot
* Spring Security and JWT: For authentication and security
* Springdoc OpenAPI: For OpenAPI documentation
Expand All @@ -20,15 +20,15 @@ This application is a library and order management system for a bookstore.
* Email: ***javax.mail***
* Testcontainers: For integration tests with the H2 test database

## What is it for?
## What is it for? πŸ”
This application is designed for bookstores or libraries to manage their collection of books, categories, and user orders.

## Why Focus on This Application?
his application is the perfect tool for bookstore or library owners who want a simple and effective way to manage their book collection,
user orders, and shopping cart inventory. It makes the process of purchasing and searching for books more convenient and organized for users.
Therefore, this application provides many useful features for managing the book business and makes it easier for users to search for and order books.

### Users can utilize this application for:
### Users can utilize this application for: πŸ“
1. Retrieving a list of all library books with pagination support.
2. Obtaining detailed book information using its unique identifier.
3. Searching for books by title.
Expand All @@ -46,7 +46,7 @@ Therefore, this application provides many useful features for managing the book
15. Searching for books by title, author, or ISBN.
16. Filtering books by categories.

# РСєстрація Π½ΠΎΠ²ΠΎΠ³ΠΎ користувача (User Registration):
# User Registration : πŸ“Œ
1. Use the POST method:
```code
/api/auth/register
Expand All @@ -63,7 +63,7 @@ Example :
}
```
The expected response will include the user's identifier and other user-related information.
User Authentication:
2. User Authentication: πŸ“Œ
***Use the POST method:***
```code
/api/auth/login.
Expand All @@ -79,32 +79,32 @@ Example :

## Example Requests:

**Request to search for books by an author:**
**Request to search for books by an author:** πŸ“Œ
* Method: **GET**
* URL: [http://localhost:8088/api/books/search?author=Taras%20Hryhorovych%20Shevchenko](http://localhost:8088/api/books/search?author=Taras%20Hryhorovych%20Shevchenko)
* In this example, you are searching for books by the author "Taras Hryhorovych Shevchenko." The response to this request will contain a list of books that match your author query.

**Request to view all categories (GET: /api/categories):**
**Request to view all categories (GET: /api/categories):** πŸ“Œ
* Method: **GET**
* URL: [http://localhost:8088/api/categories](http://localhost:8088/api/categories)
* This request allows you to retrieve a list of all book categories in your application.

**Request to view a specific category by its unique identifier (GET: /api/categories/{id}):**
**Request to view a specific category by its unique identifier (GET: /api/categories/{id}):** πŸ“Œ
* Method: **GET**
* URL: [http://localhost:8088/api/categories/{id}](http://localhost:8088/api/categories/{id})
* You can specify the unique identifier of the category in the URL, and this request will return detailed information about that category.

**Request to get a list of books in a specific category (GET: /api/categories/{id}/books):**
**Request to get a list of books in a specific category (GET: /api/categories/{id}/books):** πŸ“Œ
* Method: **GET**
* URL: [http://localhost:8088/api/categories/{id}/books](http://localhost:8088/api/categories/{id}/books)
* In this example, you specify the unique identifier of the category in the URL, and this request will return a list of books that belong to that category.

**Request to get a user's cart (GET: /api/cart):**
**Request to get a user's cart (GET: /api/cart):** πŸ“Œ
* Method: **GET**
* URL: [http://localhost:8088/api/cart](http://localhost:8088/api/cart)
* This request allows you to retrieve the user's shopping cart along with the list of items in the cart. It returns detailed information about the cart and the items in it.

**Request to add an item to the user's cart (POST: /api/cart):**
**Request to add an item to the user's cart (POST: /api/cart):** πŸ“Œ
* Method: **POST**
* URL: [http://localhost:8088/api/cart](http://localhost:8088/api/cart)
* Example JSON request body:
Expand All @@ -114,9 +114,9 @@ Example :
"quantity": 5
}
```
This request adds the specified item in the specified quantity to the user's cart.
* This request adds the specified item in the specified quantity to the user's cart.

**Request to update the quantity of an item in the user's cart (PUT: /api/cart/cart-items/{cartItemId}):**
**Request to update the quantity of an item in the user's cart (PUT: /api/cart/cart-items/{cartItemId}):** πŸ“Œ
* Method: PUT
* URL: http://localhost:8088/api/cart/cart-items/{cartItemId}
* Example JSON request body:
Expand All @@ -127,14 +127,14 @@ This request adds the specified item in the specified quantity to the user's car
```
* This request updates the quantity of a specific item in the user's cart.

**Request to remove an item from the user's cart (DELETE: /api/cart/cart-items/{cartItemId}):**
**Request to remove an item from the user's cart (DELETE: /api/cart/cart-items/{cartItemId}):** πŸ“Œ
* Method: DELETE
* URL: http://localhost:8088/api/cart/cart-items/{cartItemId}
* This request deletes a specific item from the user's cart based on its unique identifier



# Access to Additional Features for ADMIN:
# Access to Additional Features for ADMIN: ⚠️
If a user has the role ADMIN, they can utilize additional functionalities such as creating a new book, editing,
and deleting an existing book.
These requests will have endpoints /api/books/ and /api/books/{id} for creating, editing, and deleting, respectively.
Expand Down Expand Up @@ -185,7 +185,7 @@ The EmailValidator class is used for email validation. The @Email annotation is
The PasswordMatcher class is used for password matching. The @MatchPassword annotation is used to mark methods that accept passwords. The matches() method is used for comparing two passwords.


# Requirements ⚠️
# Requirements ♨️
Before starting work on the project, make sure you have the following components installed:

- πŸ”Ί Java Development Kit (JDK) version 11 or higher.
Expand All @@ -196,7 +196,7 @@ Before starting work on the project, make sure you have the following components
* For the detailed pom.xml file, you can find it in the project folder πŸ“•.


## How to Install
## How to Install πŸ”§
Follow these steps to install and run the project:
1. Clone the repository:
```shell
Expand Down

0 comments on commit 29ebfe6

Please sign in to comment.