Skip to content

AlexandrZlnov/ParcelTracker_Spr8_DB

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Parcel tracker

Это простой сервис отслеживания посылок, написанный на Go с использованием СУБД SQLite, со следующий функционалом:

  • регистрация новой посылки
  • получение списка посылок клиента
  • изменение статуса посылки
  • изменение адреса доставки
  • удаление посылки

Основные принципы работы:

  • Информация о посылках хранится в БД
  • Посылка может быть зарегистрирована, отправлена или доставлена
  • При регистрации посылки создаётся новая запись в БД
  • У только что зарегистрированной должен быть статус «зарегистрирована»
  • Трек-номер посылки равен её идентификатору в таблице
  • Если посылка в статусе «зарегистрирована», можно изменить адрес доставки или удалить посылку

Структура проекта:

  • main.go точка входа в программу:
    • реализует подключается к базе данных SQLite
    • структура Parcel представляет посылку с полями: номер, id клиента, статус, адрес, дата создания
    • структура ParcelService реализует логику работы с посылками и использует объект типа ParcelStore для работы с данными о посылке. Включает методы:
      • Register регистрирует новую посылку, присваивает статус “registered”, генерирует дату создания и сохраняет в ParcelStore
      • PrintClientParcels выводит на консоль список посылок для указанного клиента
      • NextStatus обновляет статус посылки в соответствии с логикой (registered -> sent -> delivered)
      • ChangeAddress изменяет адрес посылки
      • Delete удаляет посылку из хранилища
  • parcel.go - реализация методов структуры ParcelStore, описывающих CRUD операции взаимодействия с базой данных SQL.

Запуск

  • go run main.go parcel.go
  • go build -o tracker . ./tracker

Пример результатов работы

Новая посылка № 1 на адрес Псков, д. Пушкина, ул. Колотушкина, д. 5 от клиента с идентификатором 1 зарегистрирована 2025-03-25T12:47:45Z
У посылки № 1 новый статус: sent
Посылки клиента 1:
Посылка № 1 на адрес Саратов, д. Верхние Зори, ул. Козлова, д. 25 от клиента с идентификатором 1 зарегистрирована 2025-03-25T12:47:45Z, статус sent

Посылки клиента 1:
Посылка № 1 на адрес Саратов, д. Верхние Зори, ул. Козлова, д. 25 от клиента с идентификатором 1 зарегистрирована 2025-03-25T12:47:45Z, статус sent

Новая посылка № 2 на адрес Псков, д. Пушкина, ул. Колотушкина, д. 5 от клиента с идентификатором 1 зарегистрирована 2025-03-25T12:47:45Z
Посылки клиента 1:
Посылка № 1 на адрес Саратов, д. Верхние Зори, ул. Козлова, д. 25 от клиента с идентификатором 1 зарегистрирована 2025-03-25T12:47:45Z, статус sent

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%