Этот проект представляет собой упрощённую CRM-систему, разработанную на Java с использованием Spring Boot и PostgreSQL. Основная цель системы — управление данными о продавцах и их транзакциях, а также предоставление аналитических функций для оценки производительности продавцов.
-
Управление продавцами:
- Создание, обновление и удаление продавцов.
- Получение списка всех продавцов и информации о конкретном продавце.
-
Управление транзакциями:
- Создание, обновление и удаление транзакций.
- Получение списка всех транзакций и информации о конкретной транзакции.
-
Аналитика:
- Вывод самого продуктивного продавца за день, месяц, квартал и год.
- Вывод списка продавцов с суммой транзакций за выбранный период меньше заданной суммы.
- Определение наилучшего периода времени для конкретного продавца с максимальным количеством транзакций.
- Java 21
- Gradle
- PostgreSQL
-
Клонируйте репозиторий на локальный компьютер:
git clone github.com/DmitryMustk/ShiftLabTask cd demo -
Установите зависимости с помощью Gradle:
./gradlew build
-
Настройте подключение к базе данных в файле
application.yml. -
Запустите приложение:
./gradlew bootRun
Запрос:
GET /api/sellersОтвет:
[
{
"id": 1,
"name": "Seller One",
"contact_info": "contact1@example.com",
"registration_date": "2024-01-01T00:00:00"
},
{
"id": 2,
"name": "Seller Two",
"contact_info": "contact2@example.com",
"registration_date": "2024-01-05T00:00:00"
}
]Запрос:
POST /api/sellers?seller_name=Seller Three&seller_contact_info=contact3@example.comОтвет:
{
"id": 3,
"name": "Seller Three",
"contact_info": "contact3@example.com",
"registration_date": "2024-01-10T00:00:00"
}Запрос:
GET /api/sellers/productive/daily?date=2024-01-10Ответ:
{
"id": 2,
"name": "Seller Two",
"total_amount": 500.00
}- Spring Boot
- Spring Web
- Spring Data JPA
- PostgreSQL Driver
- Lombok
- JUnit (для тестирования)
- Mockito (для тестирования)