Full-stack export logistics platform for shipment operations, document workflows, buyer/supplier coordination, and tracking dashboards.
Repository: bhedanikhilkumar-code/ExporTrack-AI
ExporTrack AI is a portfolio-grade export logistics workspace. It turns a real operational problem — scattered shipment data, document status, buyer/supplier communication, and tracking visibility — into a structured product experience.
| Signal | Details |
|---|---|
| Product domain | Export operations, shipment tracking, document verification, logistics dashboards |
| Frontend | React, TypeScript, Vite, Tailwind CSS, Recharts, Leaflet, PWA-oriented UI |
| Backend | Express, Node.js, MySQL-ready APIs, Vercel API handlers, environment-driven configuration |
| Best review angle | Real workflow depth: shipments, documents, buyers, suppliers, public tracking, analytics, and AI-assist screens |
| Status | Local demo/screenshots available; deployment hardening and test coverage are active roadmap items |
| Landing / product entry | Operations dashboard |
|---|---|
![]() |
![]() |
Screenshots are captured from the local frontend demo so reviewers can understand the product experience before cloning the repository.
| Area | What is implemented or represented |
|---|---|
| Shipment command center | Shipment creation, details, progress, risk alerts, timeline, analytics, and public tracking pages |
| Document workflow | Invoice, packing list, shipping bill, certificate of origin, OCR, scan results, validation, and document summaries |
| Business entities | Buyers, suppliers, payments, team workspace, client portal, profile/team management, and admin surfaces |
| AI-assisted UX | Delay prediction, document extraction, compliance copilot, OCR-oriented screens, and logistics assistant components |
| Operational UI | KPI cards, charts, maps, notifications, command palette, mobile navigation, skeleton loaders, and offline fallback |
flowchart LR
Operator[Export Operator] --> Frontend[React + TypeScript Frontend]
Frontend --> Context[App Context, Routes, Forms]
Context --> Api[Express / Vercel API Layer]
Api --> Database[(MySQL Schema)]
Api --> Services[Email, OTP, Validation, Tracking Helpers]
Frontend --> PublicTracking[Public Tracking Experience]
sequenceDiagram
participant O as Operator
participant UI as Dashboard
participant API as API Layer
participant DB as MySQL Data Model
participant C as Client / Buyer
O->>UI: Create shipment and upload documents
UI->>API: Submit shipment, document, buyer, supplier, or payment data
API->>DB: Persist workflow state
DB-->>API: Return updated status
API-->>UI: Show timeline, risk, analytics, and verification state
C->>UI: Open public tracking / client portal view
git clone https://github.com/bhedanikhilkumar-code/ExporTrack-AI.git
cd ExporTrack-AI
cd frontend
npm install
cd ../backend
npm install# From the repository root
copy .env.example .env.localUpdate .env.local with your local values. Keep real keys out of Git.
Important variables from .env.example:
| Variable | Purpose |
|---|---|
VITE_API_BASE_URL |
Frontend API endpoint, usually http://localhost:5000 for local development |
SENDGRID_API_KEY / RESEND_API_KEY |
Optional email delivery providers for OTP/notification workflows |
VITE_GOOGLE_CLIENT_ID |
Optional Google OAuth client id |
VITE_TURNSTILE_SITE_KEY |
Optional Cloudflare Turnstile site key |
VITE_EMAIL_VERIFICATION_API_KEY |
Optional email validation provider key |
# Terminal 1: backend
cd backend
npm start
# Terminal 2: frontend
cd frontend
npm run devBackend health check:
curl http://localhost:5000/api/healthUse schema.sql as the starting point for MySQL tables and seed structure. The current repository is optimized for portfolio review and local frontend exploration; production deployment should add migrations, stronger auth/session handling, and automated API tests.
# Frontend production build
cd frontend
npm run build
# Backend smoke start
cd ../backend
npm startCurrent quality status:
| Check | Status |
|---|---|
| Frontend build | Documented and expected for every share-ready update |
| Backend health route | Available at /api/health |
| Repository health workflow | Runs on push through GitHub Actions |
| Automated tests | Roadmap item; API and workflow tests should be added before production use |
ExporTrack-AI/
├── frontend/ # React, TypeScript, Vite UI
│ └── src/
│ ├── components/ # Dashboards, charts, tracking, AI, layout, mobile UI
│ ├── context/ # App-level state and seeded workflow data
│ ├── hooks/ # Permissions, tracking, scroll behavior
│ └── pages/ # Shipment, document, tracking, buyer, supplier, admin pages
├── backend/ # Express server and Vercel-style API handlers
│ ├── api/ # Auth, OTP, buyers, suppliers, payments, documents
│ └── server.js # Local Express server and health route
├── docs/ # Architecture, case study, quality, roadmap, review docs
├── schema.sql # MySQL schema reference
└── SENDGRID_SETUP_GUIDE.md
- Add a hosted demo link after deployment hardening
- Add API tests for buyers, suppliers, payments, and document workflows
- Add migration tooling instead of raw schema-only setup
- Add a short workflow GIF from login to shipment verification
- Improve authentication/session boundaries for production deployment
- Add CI build checks for the frontend package
| Document | Purpose |
|---|---|
| Architecture | System layers, workflow, data/state model, and extension points. |
| Case Study | Product framing, decisions, tradeoffs, and portfolio story. |
| Roadmap | Practical next steps for turning the project into a stronger product. |
| Quality Standard | Repository health checks, review standards, and quality gates. |
| Review Checklist | Final share/recruiter review checklist for a stronger GitHub impression. |
| Contributing | Branching, commit, review, and quality guidelines. |
| Security | Responsible disclosure and safe configuration notes. |
| Support | How to ask for help or report issues clearly. |
| Code of Conduct | Collaboration expectations for respectful project activity. |
Environment files with real values should never be committed. Use .env.example as the safe template and keep .env, .env.local, and deployment secrets in local or hosting-provider configuration only.
Add a license file before accepting outside contributions or reuse. If this stays portfolio-only, document that clearly in the repository settings and project docs.

