Skip to content

dobroznai/SortinParcelsProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Logistic Parcel Sorter

📦 Опис

Spring Boot backend для логістичної системи сортування посилок.
Призначення — обробка Excel-файлів, сканування посилок та надання даних через REST API.


⚙️ Технологічний стек

  • Java 17+
  • Spring Boot
  • Spring Data JPA
  • Spring Security (JWT)
  • Lombok
  • PostgreSQL / MongoDB (TBD)
  • Apache POI (для Excel)
  • Logback (логування)

📂 Структура проєкту

src/ ├── main/java/idhub/sortinpackage/ │ ├── controller/ │ ├── model/ │ ├── repository/ │ ├── service/ │ └── config/ ├── resources/ │ ├── application.yml │ └── logback-spring.xml


🧩 Основні сутності

  • User — користувач системи
  • Parcel — посилка
  • ScanRecord — запис сканування

🌐 REST API (чернетка)

Метод Ендпоінт Опис
POST /api/auth/login Авторизація
POST /api/parcels/upload Завантаження Excel
GET /api/parcels/{trackingNumber} Отримати посилку
POST /api/scans Зберегти сканування

🧠 Автор

Ivan Dobroznai
Start: 23.10.2025


🚧 Статус розробки

  • Створено структуру проєкту
  • Моделі
  • Репозиторії
  • Контролери
  • Інтеграція Excel
  • Авторизація (JWT)

📦 Logistic Parcel Sorter - Backend

🎯 Бізнес-логіка

  1. Завантаження Excel-файлу

    • Оператор завантажує Excel-файл із посилками.
    • Поля у файлі: trackingNumber | gibitNumber | tourNumber.
    • Посилки імпортуються у базу даних із статусом PENDING.
  2. Відображення списку посилок

    • Всі посилки, які ще не відскановані, відображаються у списку.
    • Коли оператор сканує посилку, вона змінює статус і переміщується у список відсканованих.
  3. Сканування посилки

    • Сканер надсилає trackingNumber на бекенд.
    • Якщо посилка є в базі, її статус змінюється на SCANNED.
    • Повертається інформація про посилку, наприклад, tourNumber.
  4. Відображення відсканованих посилок

    • Повертаються всі посилки зі статусом SCANNED.
  5. Очищення бази

    • Для тестів або нового завантаження можна очистити всі записи.

🌐 REST API

Метод Ендпоінт Опис Відповідь
POST /api/parcels/upload Завантаження Excel-файлу "Successfully uploaded 256 parcels"
GET /api/parcels/pending Отримати всі посилки, які ще не відскановані [ { trackingNumber, tourNumber, status } ]
POST /api/parcels/scan/{trackingNumber} Сканування посилки (оновлення статусу) { message: "Parcel scanned", tourNumber: "T123" }
GET /api/parcels/scanned Повернути всі відскановані посилки [ { trackingNumber, status: "SCANNED" } ]
DELETE /api/parcels/clear Очистити всі записи "Database cleared"

Цей опис можна додатково інтегрувати зі Swagger/OpenAPI, щоб одразу тестувати ендпоінти у браузері чи Postman.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages