Интернет-магазин

Содержание

Слайд 2

Описание проекта

Проект SMarket представляет собой интернет-магазин товаров повседневного спроса.
Платформа имеет удобный интерфейс,

Описание проекта Проект SMarket представляет собой интернет-магазин товаров повседневного спроса. Платформа имеет
где все товары разделены по категориям.
Благодаря простой навигации, пользователю не составит труда определиться с выбором товара.

Слайд 3

Перейдя по интересующей категории, пользователь может ознакомиться со списком товаров, а если

Перейдя по интересующей категории, пользователь может ознакомиться со списком товаров, а если
товар его заинтересовал он может ознакомиться с  подробным описанием.
Администратор магазина со своей стороны может добавлять товары, изменить цену на товар, назначить или удалить цену, сняв товар с продажи.
В дальнейшем планируется добавить функционал покупки и резервирования товара.

Слайд 4

Проект SMarket

Проект SMarket

Слайд 5

Панель администратора

Панель администратора

Слайд 6

Техническая часть

Интернет-магазин SMarket - проект, основанный на микросервисной архитектуре. Каждый микросервис выполняет

Техническая часть Интернет-магазин SMarket - проект, основанный на микросервисной архитектуре. Каждый микросервис
определённый функционал. Проект включает в себя пять сервисов взаимосвязанных между собой через REST, а также через брокер сообщений Apache Kafka.
Сервис обеспечивающий работу с товарами (Stock-Service)
Сервис отвечающий за ценообразование товаров (Price-Service)

Слайд 7

Сервис обеспечивающий работу с авторизацией пользователей (User-Service)
Фронтовое приложение для вывода товаров

Сервис обеспечивающий работу с авторизацией пользователей (User-Service) Фронтовое приложение для вывода товаров
(Market-Front-App)
Фронтовое приложения для администрирования цен, добавления/удаления товаров (Admin-Front-App)

Слайд 8

Stock-service

Spring Boot приложение с подключением к базе данных PostgreSQL .
Сервис хранит описание

Stock-service Spring Boot приложение с подключением к базе данных PostgreSQL . Сервис
товаров: цена, название, категория, количество, производитель и др. Позволяет создавать, редактировать, резервировать, удалять товары, получать информацию о товарах.
Подключение к базе данных происходит через стандарт JDBC. Структура базы данных создается при помощи Liquibase.
Данный сервис использует программного брокера сообщений Apache Kafka для оперативного уведомления об удалении, добавлении, изменении состояния товара.

Слайд 9

API сервиса

GET /stock/item?itemId={itemId}
GET /stock/item/all/byCategory?categoryId={categoryId}
GET /stock/сategory/all
GET /stock/item/all
POST /stock/item
POST /stock/reserve?itemId={itemId}&count={count}
POST /stock/unreserve?itemId={itemId}&count={count}
PUT /stock/item
DELETE /stock/item?itemId={itemId}
Ссылка

API сервиса GET /stock/item?itemId={itemId} GET /stock/item/all/byCategory?categoryId={categoryId} GET /stock/сategory/all GET /stock/item/all POST /stock/item
на репозиторий:

Слайд 10

Price-service

Сервис отвечающий за ценообразование товаров.
Spring Boot приложение с подключением к базе

Price-service Сервис отвечающий за ценообразование товаров. Spring Boot приложение с подключением к
данных PostgreSQL с использованием библиотеки Hibernate.
Структура базы данных создается при помощи Liquibase.
Данный сервис использует программного брокера сообщений Apache Kafka для оперативного уведомления об удалении, добавлении, изменении состояния цены на товар.

Слайд 11

API сервиса

GET /price?itemId={itemId} (возвращает цену с заданным ID товара )
DELETE /price?itemId={itemId} (удаляет

API сервиса GET /price?itemId={itemId} (возвращает цену с заданным ID товара ) DELETE
цену с заданным ID товара)
PUT /price?itemId={itemId} (обновляет цену с заданным ID товара)
POST /price/create (создает новую цену товара в БД)
PUT /price/all (обновляет цены списка товаров)
GET /price/all (возвращает цены списка товаров)
Ссылка на репозиторий:

Слайд 12

User-service

Сервис представляет собой Spring Boot приложение, которое обеспечивает работу с учётными записями

User-service Сервис представляет собой Spring Boot приложение, которое обеспечивает работу с учётными
пользователей.
Информация о пользователях хранится в базе данных PostgreSQL. Взаимодействие с базой данных осуществляется посредством Spring Data.

Слайд 13

API сервиса

GET /auth/user/byUserId?userId={userId}
GET /auth/user/byLogin?login={login}
DELETE /auth/user/user?userId={userId}
POST /auth/user
PUT /auth/user
GET /auth/user/all
GET /auth/user/all/byRoles?roles={roles}
Ссылка на репозиторий:

API сервиса GET /auth/user/byUserId?userId={userId} GET /auth/user/byLogin?login={login} DELETE /auth/user/user?userId={userId} POST /auth/user PUT /auth/user

Слайд 14

Market-front-app

Фронтовое приложение реализует пользовательский интерфейс и позволяет клиенту ознакомиться со списком товаров.

Market-front-app Фронтовое приложение реализует пользовательский интерфейс и позволяет клиенту ознакомиться со списком
Источником данных является stock-service и price-service, взаимодействие осуществляется через REST.
Данный сервис оперативно реагирует на изменение списка товаров и цен на них;

Слайд 15

GET market/category/all
GET market/item/all/byCategory?categoryId={categoryId}
Ссылка на репозиторий:
https://gitlab.com/martynets.aleksandr/market-front-app

API сервиса

GET market/category/all GET market/item/all/byCategory?categoryId={categoryId} Ссылка на репозиторий: https://gitlab.com/martynets.aleksandr/market-front-app API сервиса

Слайд 16

Admin-front-app

Фронтовое приложения для администрирования цен, добавления/удаления товаров. Источником данных является stock-service и

Admin-front-app Фронтовое приложения для администрирования цен, добавления/удаления товаров. Источником данных является stock-service
price-service, взаимодействие осуществляется через REST.
Данный сервис оперативно реагирует на изменение списка товаров и цен на них, вычитывая сообщения из Apache Kafka;
Вход в административную панель осуществляется с использованием Spring Security.

Слайд 17

API сервиса

GET admin/item/all
PUT admin/item/price?itemId={itemId}&price={price}
DELETE admin/item/price?itemId={itemId}
POST admin/item
Ссылка на репозиторий:
https://gitlab.com/martynets.alesandr/smarket-admin/-/tree/develop/admin-front-app

API сервиса GET admin/item/all PUT admin/item/price?itemId={itemId}&price={price} DELETE admin/item/price?itemId={itemId} POST admin/item Ссылка на репозиторий: https://gitlab.com/martynets.alesandr/smarket-admin/-/tree/develop/admin-front-app

Слайд 18

stock-service

price-service

admin-front-app

market-front-app

user-service

Price

Item

User

Kafka

Kafka

Kafka

Kafka

JDBC

Spring
Data

Hibernate

Item Cache

Price Cache

Item Cache

Price Cache

SMarket

Spring Security

Архитектура

stock-service price-service admin-front-app market-front-app user-service Price Item User Kafka Kafka Kafka Kafka

Слайд 19

Используемые технологии

JDBC
Liquibase
Kafka
JUnit
Mockito
Git

Используемые технологии JDBC Liquibase Kafka JUnit Mockito Git

Слайд 20

Spring Boot
Spring MVC
Spring Rest Template
Spring Data
Spring Security
Hibernate

Spring Boot Spring MVC Spring Rest Template Spring Data Spring Security Hibernate

Слайд 21

Команда проекта

Куратор проекта:
Мартынец Александр
Участники:

Команда проекта Куратор проекта: Мартынец Александр Участники:

Слайд 22

Участие в проекте «SMarket»


Stock-service

Участие в проекте «SMarket» Stock-service

Слайд 23

О проекте ПЕРЕЗАГРУЗКА

О проекте ПЕРЕЗАГРУЗКА
Имя файла: Интернет-магазин.pptx
Количество просмотров: 36
Количество скачиваний: 0