A full-stack terminal operations dashboard for monitoring container movements, vessel calls, and yard performance at a container terminal.
Built around the operational reality of a modern container port: real-time KPI tracking, automated dwell time alerts, gate transaction processing, and BI-ready reporting — all connected to a star schema data warehouse.
Browser-based dashboard showing TEU throughput, vessel turnaround time, yard block occupancy, and gate transaction volume. Updates live and flags anomalies automatically.
Python script that scans the yard for containers exceeding their target dwell time, ranks them by severity, and generates a daily CSV + chart report for the operations team.
Groovy transformer that validates and normalises incoming truck gate messages (ISO 6346 container IDs, EDI format) before they enter the terminal operating system.
Oracle SQL star schema designed for operational reporting. Includes KPI queries for throughput, turnaround, and occupancy — ready to connect to Power BI or Tableau.
End-to-end AS-IS → TO-BE analysis of the container release workflow, with user stories, data model changes, and a phased implementation plan.
| Layer | Technologies |
|---|---|
| Frontend | HTML5, CSS3, JavaScript, Chart.js |
| Backend | Java 17, Spring Boot |
| Data transformation | Groovy |
| Data analysis & reporting | Python 3.11, pandas, matplotlib |
| Database | Oracle SQL (star schema) |
| CI | GitHub Actions |
port-container-tracker/
├── frontend/ # KPI dashboard (HTML + JS + CSS)
├── backend/
│ ├── ContainerService.java # Core business logic
│ └── GateTransactionTransformer.groovy
├── data-analysis/
│ └── dwell_time_analysis.py # Automated dwell time reporting
├── sql/
│ └── schema_and_kpis.sql # Star schema + analytical queries
└── docs/
└── process-analysis.md # AS-IS / TO-BE process analysis
Frontend — open directly in browser:
open frontend/index.htmlPython analysis:
pip install pandas matplotlib
python data-analysis/dwell_time_analysis.pyBackend:
# Java 17 + Maven required
mvn spring-boot:runPhilippe Godfroy — linkedin.com/in/yourprofile