๐ Live Demo
๐ Deployed Link: https://logistech-prime.onrender.com/
LogisTech is a full-stack Automated Warehouse Orchestration System that simulates real-world warehouse operations. It manages incoming packages, finds optimal storage bins using Binary Search, loads trucks using Stack logic, and validates fragile shipments through Backtracking. A centralized Singleton Controller powers the entire workflow, while SQL audit logs ensure complete traceability of every operation.
- Features
- System Architecture
- Algorithms Implemented
- Tech Stack
- Database Schema
- Installation Steps
- How to Run
- API Endpoints
- UI Screenshots
- Future Enhancements
- License
- Add new packages to conveyor belt
- Processes items in arrival order (First-In, First-Out)
- Bins are sorted by capacity
- Finds the best-fitting bin in
$O(\log N)$ time - Prevents storage inefficiency and item damage
- Load packages in LIFO (Last-In, First-Out) order
- Rollback mechanism to unload items if the wrong package is loaded
- Validates fragile package combinations
- Checks if a specific set of bundles fits inside the truck capacity
- Centralized decision-making
- Prevents race conditions by ensuring only one controller instance exists
- Logs every storage, loading, and rollback event
- Ensures traceability after server restart
The system follows a centralized "Control Tower" architecture where the WarehouseController (Singleton) coordinates all operations.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ USER / WEB UI โ
โ (HTML + CSS + JavaScript) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ HTTP Requests
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ FastAPI Backend โ
โ (REST API Endpoints) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ LogisTech Controller (Singleton) โ
โ Centralized Orchestration โ
โโโฌโโโโโโโโโโโโฌโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโ
โ โ โ โ
โผ โผ โผ โผ
โโโโโโโโ โโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โQueue โ โStack โ โBinary โ โBacktracking โ
โ(FIFO)โ โ(LIFO)โ โSearch โ โPlanner โ
โโโโฌโโโโ โโโโฌโโโโ โโโโโโฌโโโโโโ โโโโโโโโฌโโโโโโโ
โ โ โ โ
โโโโโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ SQLite Database โ
โ (Audit Logs + Bins) โ
โโโโโโโโโโโโโโโโโโโโโโโโ
Explanation:
- Frontend โ Backend โ Database are loosely coupled for scalability.
- The Controller acts as the brain, managing the state of the Queue, Stack, and Inventory.
- Why: To efficiently find the smallest bin that fits a package among thousands of bins.
-
Complexity:
$O(\log N)$ -
Logic: Bins are sorted by capacity. The algorithm finds the first bin where
bin.capacity >= package.size.
- Why: Trucks are loaded from back to front. To remove an item deep inside, you must remove items in front of it first.
- Logic: Uses LIFO (Last-In, First-Out).
-
Rollback: Supports popping the last
$N$ items to correct loading errors.
- Why: Packages arrive sequentially and must be processed in order.
- Logic: Uses FIFO (First-In, First-Out).
- Why: To determine if a specific combination of packages (e.g., fragile bundles) can fit into the remaining truck space.
- Logic: Recursively tries to fit packages. If a path leads to overflow, it backtracks and tries the next combination.
- HTML5, CSS3, JavaScript (Vanilla, Responsive Design)
- Google Fonts (Outfit)
- Python 3.x
- FastAPI (High-performance web framework)
- Singleton Pattern for Controller
- Binary Search
- Stack / Queue Data Structures
- Backtracking Algorithm
- MySQL (Relational Database Management System)
The system uses a relational database to ensure data persistence.
| Column | Type | Description |
|---|---|---|
id |
INT | Primary Key (Auto Increment) |
tracking_id |
VARCHAR | Unique Package ID |
bin_id |
INT | ID of the bin (or -1 for Truck) |
timestamp |
DATETIME | Time of operation |
status |
VARCHAR | STORED, LOADED, ROLLBACK, etc. |
| Column | Type | Description |
|---|---|---|
bin_id |
INT | Unique Bin ID (Auto Increment) |
capacity |
INT | Volume capacity |
location_code |
VARCHAR | Physical location (e.g., A1, B2) |
git clone https://github.com/yourusername/logistech.git
cd logistechpip install -r requirements.txt(Note: Requires fastapi, uvicorn, mysql-connector-python, python-dotenv)
Create a .env file in the root directory with your MySQL credentials:
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=yourpassword
DB_NAME=warehouseEnsure your MySQL server is running and accessible.
uvicorn api:app --reloadGo to: http://127.0.0.1:8000
| Method | Endpoint | Description |
|---|---|---|
GET |
/status |
Get current bin inventory |
POST |
/package/add |
Add package to conveyor queue |
GET |
/package/queue |
View current queue |
POST |
/package/process |
Process next item (Binary Search) |
POST |
/truck/load |
Load item onto truck (Stack) |
POST |
/truck/rollback |
Remove last N items |
POST |
/truck/can-fit |
Check fit (Backtracking) |
GET |
/logs |
View audit logs |
Placeholders for actual screenshots
- Real-time Updates: Implement WebSockets for instant dashboard updates without polling.
- IoT Integration: Connect with RFID scanners for automated package tracking.
- ML Optimization: Use Machine Learning to predict package sizes and optimize bin layout.
- Multi-Warehouse: Scale the system to manage multiple warehouse locations.
- User Auth: Add Admin/Staff roles for security.
MIT License



