! презентация - Автомойки 2

Содержание

Слайд 3

Приложение представляет пользователям удобный функционал записи на автомобильные станции.
В нем можно просмотреть

Приложение представляет пользователям удобный функционал записи на автомобильные станции. В нем можно
список всех станций, найти ближайшую свободную и записаться в один клик.
Основной функционал доступен как через web-приложение, так и через Telegram-бота.

Проект

Слайд 4

Я как пользователь хочу
иметь возможность записаться на ближайшую автомойку через телеграм бота
иметь

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

Пользовательские сценарии

Слайд 5

Я как администратор хочу
разместить информацию в приложении, чтобы повысить клиентопоток
хочу управлять жизненным

Я как администратор хочу разместить информацию в приложении, чтобы повысить клиентопоток хочу
циклом станции используя приложение CarWash. (начать обслуживание, завершить мойку). При этом пользователи получат уведомление о смене статуса
оперативно узнавать статистику посещения станции
хочу оперативно узнавать статистику по всем работающим через CarWash станциям

Пользовательские сценарии

Слайд 6

Концепт

Веб интерфейс CarWash

Сервис пользовательских данных

Telegram бот

СЕРВИСЫ

Сервис автомоек

Сервис стоимости услуг

Сервис отчетов

Концепт Веб интерфейс CarWash Сервис пользовательских данных Telegram бот СЕРВИСЫ Сервис автомоек

Слайд 7

Микросервисная архитектура
Сервисы написаны на Spring Boot
Сервисы взаимодействуют между собой синхронно через HTTP

Микросервисная архитектура Сервисы написаны на Spring Boot Сервисы взаимодействуют между собой синхронно
запросы
Модули взаимодействуют с БД (JDBC, Hibernate, Spring Data)
Инструменты тестирования JUnit & Mockito
Контейнеризация на базе Docker

Стек технологий

Слайд 8

Сервис отвечает за хранение данных о мойках и заказах, и предоставление этой

Сервис отвечает за хранение данных о мойках и заказах, и предоставление этой
информации потребителям
Spring Boot приложение с подключением к базе данных PostgreSQL с использованием библиотеки Hibernate
carWash обращается за ценой в priceService
Предоставляет информацию для reportService по запросу
Предоставляет telegramBot список ближайших свободных моек
Ссылка на репозиторий: https://bitbucket.org/levinaanna/carwashcore/src/master/

CarWash-Service

Слайд 9

Получить список всех автомоек (GET)
http://localhost:8080/car-wash/all
Создать автомойку (POST)
http://localhost:8080/car-wash/create
{ "title":"Мойка Красноярск ", "address":"Красноярск адрес",

Получить список всех автомоек (GET) http://localhost:8080/car-wash/all Создать автомойку (POST) http://localhost:8080/car-wash/create { "title":"Мойка
"latitude":"56.02", "longitude":"92.87", "ownerId":"777", "cityId":"1" }
Получить список ближайших свободных автомоек с ценами на дату (GET)
http://localhost:8080/car-wash/nearest-free-car-washes-by-date?latitude=55.6&longitude=37.7&date=2022-09-09
Удалить автомойку по id (DELETE)
http://localhost:8080/car-wash/delete-by-id?id=2
Получить список городов (GET)
http://localhost:8080/city/all
Узнать город по id мойки (GET)
http://localhost:8080/city/get-by-id?id=1
Добавить информацию о городе (POST)
http://localhost:8080/city/create
{"title":"City669"}
Удалить город (DELETE)
http://localhost:8080/city/delete-by-id?id=2 (DELETE)

API CarWash-Service (автомойки и локация)

Слайд 10

Получить все заказы (GET)
http://localhost:8080/order/all
Создать заказ (POST)
http://localhost:8080/order/create
{ "userId":"444", "status":"В работе", "carWashId":"2", "date":"2022-09-08" }
Удалить

Получить все заказы (GET) http://localhost:8080/order/all Создать заказ (POST) http://localhost:8080/order/create { "userId":"444", "status":"В
заказ по id (DELETE)
http://localhost:8080/order/delete-by-id?id=2
Создать заказ (POST без тела)
http://localhost:8080/order/update-status?id=1&status=123
Получить заказы пользователя (GET)
http://localhost:8080/order/by-userId?id=1234
Получить все заказы с ценами за выбранный период (GET)
http://localhost:8080/order/by-dates?startDate=2022-09-10&endDate=2022-09-11
Получить все заказы с ценами за выбранный период по выбранной автомойке (GET)
http://localhost:8080/order/by-dates-by-car-wash?startDate=2022-09-09&endDate=2022-09-10&id=2

API CarWash-Service (заказы)

Слайд 11

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

Сервис отвечающий за хранение информации о пользователях Spring Boot приложение с подключением
базе данных PostgreSQL с использованием библиотеки Hibernate
Получает информацию от telegramBot о новом пользователе, и обрабатывает её
С фронта получает запрос на регистрацию и обрабатывает её
Аутентификация и авторизация пользователя
Ссылка на репозиторий: https://bitbucket.org/ssv1972_bb/javaschoolfinalproject/src/master/

User-Service

Слайд 12

Аутентификация - доступно всем без аутентификации
http://localhost:8083/user-service/api/login
Создать пользователя (POST) - доступно всем без

Аутентификация - доступно всем без аутентификации http://localhost:8083/user-service/api/login Создать пользователя (POST) - доступно
аутентификации
http://localhost:8083/user-service/api/createCarWashUser
Изменение пользователя (PUT) - доступно всем с токеном
http://localhost:8083/user-service/api/user/updateCarWashUser
Удаление пользователя (DELETE) - доступно для роли ADMIN
http://localhost:8083/user-service/api/admin/deleteCarWashUserById/{ID пользователя}
Получить всех пользователей (GET) - доступно для роли ADMIN
http://localhost:8083/user-service/api/admin/getAllCarWashUsers
Получить данные конкретного пользователя (GET) – доступно всем с токеном
http://localhost:8083/user-service/api/user/getCarWashUserById/{userId}
Получить список имен пользователей для подготовки отчетов (GET) – доступно всем
http://localhost:8083/user-service/api/getCarWashUserById/{userId}

API User-Service

getAllCarWashUsersNames

Слайд 13

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

Сервис отвечающий за ценообразование товаров. Spring Boot приложение с подключением к базе
данных PostgreSQL с использованием библиотеки Hibernate.
Ссылка на репозиторий: https://bitbucket.org/dimmaxim21/javaschoolfinalproject/src/master/

Price-Service

Вывод определенной записи GET http://localhost:8081/user/info/1
Вывод всех записей GET http://localhost:8081/user/getAll
Вывод всех услуг по конкретной автомойке GET http://localhost:8081/user/getGroup/2

API Price-Service (admin / user)

Слайд 14

Добавление записи POST http://localhost:8081/admin/save Content-Type: application/json
{"idCarwash":"1","service":"Техническая мойка-экспресс","price":350}
Удаление конкретной записи DELETE http://localhost:8081/admin/delete/1
Удаление всех записей DELETE http://localhost:8081/admin/deleteAll
Изменение

Добавление записи POST http://localhost:8081/admin/save Content-Type: application/json {"idCarwash":"1","service":"Техническая мойка-экспресс","price":350} Удаление конкретной записи DELETE
существующей записи POST http://localhost:8081/admin/update Content-Type: application/json
{"id":"1","idCarwash":"2","service":"Техническая мойка-экспресс (updated)","price":400}

API Price-Service (admin)

Слайд 16

Запрашивает данные из CarWash-Service
Формирует отчёт и отдаёт его на фронт (за

Запрашивает данные из CarWash-Service Формирует отчёт и отдаёт его на фронт (за
выбранные даты по конкретной мойке или всем)
Ссылка не репозиторий: https://bitbucket.org/anton_emelyanov/report_service/src/master/

Report-Service

Получить все заказы с ценами за выбранный период (GET) http://localhost:8089/report/by-dates?startDate=2022-09-08&endDate=2022-09-09
Получить все заказы с ценами за выбранный период по конкретной автомойке http://localhost:8089/report/by-dates-by-car-wash?startDate=2022-09-08&endDate=2022-09-09&id=1

API

Слайд 17

Отображает пользователю список свободных моек, за информацией обращается в CarWash-Service
Предоставляет возможность пользователю

Отображает пользователю список свободных моек, за информацией обращается в CarWash-Service Предоставляет возможность
зарегистрироваться на сайте, обращается в userService
Позволяет оформить новый заказ на выбранную мойку, обращается в CarWash-Service
Позволяет отменить заказ, обращается в CarWash-Service
Ссылка на репозиторий: https://bitbucket.org/m_blaz/javaschoolfinalproject/src/master/

Telegram-bot (https://t.me/CarWashTbot)

Слайд 18

Обращается в CarWash-Service и получает\отправляет информацию о мойках и заказах
Отправляет запрос на

Обращается в CarWash-Service и получает\отправляет информацию о мойках и заказах Отправляет запрос
регистрацию в userService
При построении отчётов получает\отправляет информацию в reportService
Получает список свободных моек из CarWash-Service
Отправляет информацию о заказе в CarWash-Service
Ссылка на репозиторий: https://bitbucket.org/sityurnikov/carwashproject/src/master/

Front-end

Слайд 19

Проект реализован согласно бизнес требованиям. Пользователи могут познакомиться с функционалом через

Проект реализован согласно бизнес требованиям. Пользователи могут познакомиться с функционалом через web-интерфейс
web-интерфейс
Проект реализован в соответствии с архитектурой
Проект представляет собой микросервисную архитектуру, в которой используется REST-взаимодействия.
Модули покрыты unit тестами

Резюме

Имя файла: !-презентация---Автомойки-2.pptx
Количество просмотров: 30
Количество скачиваний: 0