This repository contains two independent implementations of the same logistics system:
Both follow similar domain logic but differ in architecture, tooling, and design decisions.
This version was developed as part of the Telerik Academy Java program.
It focuses on building a clean, extensible backend system using modern Java practices.
- Layered architecture
- Command Pattern for handling operations
- Separation of concerns (Models / Services / Repositories / Commands)
- DTO + Mapper approach
- Java 17
- Spring Boot (if included in your final version, otherwise remove)
- Jackson (JSON processing)
- REST-style design principles
This version was developed as part of coursework at the Technical University of Sofia.
It is a console-based logistics management system built with a strong focus on OOP and system design fundamentals.
- Command Pattern
- Layered structure (Models / Repositories / Services / Commands)
- Manual dependency management
- File-based persistence
- C++20
- STL (Standard Template Library)
- nlohmann/json
- Docker
| Aspect | Java Version | C++ Version |
|---|---|---|
| Language | Java | C++ |
| Runtime | JVM | Native |
| Dependency Management | Managed (libraries) | Manual |
| Architecture | Enterprise-style | System-level OOP |
| Persistence | JSON (Jackson) | JSON (nlohmann) |
The goal of this repository is to:
- Compare implementations of the same system in different languages
- Demonstrate understanding of architecture and design patterns
- Showcase progression from academic to more production-oriented development
Todor Krushkov

