12 Стульев - монолитное приложение, разработанное для одноименной компании.
- Бизнес требования
- Архитектура приложения
- Как запустить
- Навигация по проекту
- Обзор технологий
- Точки доступа
Приложение выполняет следующие бизнес-функции:
- панель администратора:
- управление пользователями системы, не являющихся покупателями (создание / удаление / изменение паролей);
- регистрация клиента (покупателя);
- аутентификация клиента (покупателя);
- склад:
- пополнение;
- изменение информации о товаре;
- заказы:
- принятие;
- оплата;
- нотификация об изменении статуса;
- доставка:
- назначение курьера;
- доставка заказа клиенту.
Приложение написано с использованием Spring-Boot фреймворка и состоит из следующих слоев:
- View - слой отвечающий за отображение web-страниц в браузере. Слой состоит из статических HTML файлов и клиентской логики написанной с использованием реактивного фреймворка Vue.js. В качестве web-сервера выступает само приложение, которое раздает статику с помощью Spring MVC
- Controller - слой отвечает за принятие REST запросов из браузера клиента и передаче управления слою Service.
- Service - слой обработки бизнес-логики.
- Repository - слой доступа к базе данных.
В качестве базы данных используется встроенная в приложения RDBMS H2.
- controller - пакет, в котором находятся классы, отвечающие за обработку REST запросов
- entity - пакет с ORM POJO
- exception - пакет с бизнес-исключениями
- model - пакет с POJO для отображения данных
- repository - пакет с DAO слоем
- security - пакет с конфигурацией Spring Security
- service - пакет с классами, имплементирующими бизнес-логику
- util - пакет с утилитарными классами
- resources
- static - пакет со статическими HTML файлами
- application.yaml - конфигурация приложения
- data.sql - наполнение базы данных (DML)
- schema.sql - Инициализация базы данных (DDL)
Для сборки и запуска приложения вам понадобиться:
- JDK 8 Скачать тут
- Maven Скачать тут
Команды ниже нужно выполнять в корневой директории с проектом.
Для сборки:
mvn clean install
Для запуска:
java -jar target/monolithic-app-1.0.0.jar
- Frontend:
- HTML
- Bootstrap
- Vue.js
- axios
- Backend:
- Java 8
- Spring Boot:
- Spring MVC
- Spring Data JPA
- Spring Security
- Database:
- H2
- DevOps
- Maven
Функция | Адрес |
---|---|
Точка доступа к приложению | localhost:8080 |
Логин | Пароль | Роль |
---|---|---|
admin | admin | ADMIN |
customer | customer | CUSTOMER |
deliver | deliver | DELIVER |
supplier | supplier | SUPPLIER |