A Spring Boot and PostgreSQL based backend for managing logistics operations including locations, storage units, products, routes, and demands.
| Resource | Description | View Link |
|---|---|---|
| Swagger UI | Swagger API Docs | Explore Docs |
| Postman | Postman API collection | View Collection |
| Architecture | System Architecture | View Design |
| DB Design | Entity-Relationship Diagram | View Schemas |
| Validation | Sequence Digram for Full Logistics Validation | View Sequence Diagram |
| Component | Technologies |
|---|---|
| Backend | Java 21 (Temurin), Spring Boot 3.5.10 |
| Data Access | Spring Data JPA (Hibernate) |
| Database | PostgreSQL 15 |
| Containerization | Docker, Docker Compose |
| CI/CD | GitHub Actions |
| Deployment | Render (Managed Cloud) |
Get the entire system up and running in minutes using Docker:
-
Clone the repository
git clone https://github.com/alamgir-ahosain/logistics-platform.git
-
Navigate to the project directory
cd logistics-platform -
Spin up the containers
docker compose up --build -d
The API will be available at
http://localhost:8000
If prefer to configure the environment manually or run the application without Docker, follow these steps:
-
Clone the Repository
git clone https://github.com/alamgir-ahosain/logistics-platform.git cd logistics-platform -
Environment Configuration
Create a
.envfile in theserver/directory. This project usesjava-dotenvto load credentials securely.DB_HOST= DB_PORT= DB_NAME= DB_USER= DB_PASSWORD=
Do NOT commit .env Put it in .gitingore
-
Build the Project
Ensure JDK 21 is installed. Use the Maven wrapper to install dependencies:
cd server ./mvnw clean install -
Run the Application
Start the Spring Boot server:
./mvnw spring-boot:run
-
Access the Application
The API will be available at:
http://localhost:8000/
├── server/ # Spring Boot Application
│ ├── src/ # Source code
│ ├── Dockerfile # Production Docker build
│ └── .env # Environment variable template
├── database/ # SQL scripts
│ └── Init.sql # Initial schema
└── docker-compose.yml # Local development setup

