Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/sashka11111/cart-app

CartApp is a simple Spring Boot web application designed to manage a shopping cart and products. It allows users to add products to a cart, remove them, and calculate the total price of the products in the cart.
https://github.com/sashka11111/cart-app

spring-boot

Last synced: about 1 month ago
JSON representation

CartApp is a simple Spring Boot web application designed to manage a shopping cart and products. It allows users to add products to a cart, remove them, and calculate the total price of the products in the cart.

Awesome Lists containing this project

README

        

# CartApp

## Опис

**CartApp** — це простий веб-додаток для управління продуктами та кошиком покупок, реалізований за допомогою Spring Boot. Додаток містить функціональність для додавання товарів до кошика, видалення товарів і обчислення загальної суми покупок.

## Технології

- **Java 21**
- **Spring Boot 3.x**
- **Spring Framework 6.x**
- **Maven** для управління залежностями та зборки проекту

### Ключові класи

1. **`Product`**
Клас-модель, який описує товар. Містить основні властивості товару:
- `id` — унікальний ідентифікатор товару.
- `name` — назва товару.
- `price` — ціна товару.

2. **`Cart`**
Клас-модель, що представляє кошик покупок. Кошик містить продукти і їх кількість. Для кожного товару у кошику зберігається:
- `product` — об'єкт класу `Product`.
- `quantity` — кількість одиниць товару в кошику.

3. **`ProductRepository`**
Інтерфейс репозиторію для роботи з продуктами. Він дозволяє виконувати основні операції над продуктами, такі як збереження, отримання, оновлення та видалення продуктів з бази даних.

4. **`CartService`**
Інтерфейс сервісу для роботи з кошиком. Містить методи для:
- Додавання товару в кошик.
- Видалення товару з кошика.
- Обчислення загальної суми кошика.

5. **`ProductService`**
Інтерфейс сервісу для роботи з товарами. Містить методи для:
- Отримання списку всіх доступних продуктів.
- Додавання нових продуктів до бази.
- Видалення продуктів з бази.

6. **`CartServiceImpl`**
Реалізація інтерфейсу `CartService`. Забезпечує бізнес-логіку для роботи з кошиком, включаючи додавання, видалення товарів і обчислення суми всіх товарів у кошику.

7. **`ProductServiceImpl`**
Реалізація інтерфейсу `ProductService`. Забезпечує бізнес-логіку для роботи з товарами, включаючи отримання, збереження і видалення товарів з бази даних.

Цей проект ліцензується за ліцензією MIT.