MaxTracks Web

Flutter web dashboard for tracking packages, managing invoices, and overseeing shipping operations

Tech Stack

Flutter Web
Dart / Material 3
Cloud Firestore
NoSQL Database
Cloud Functions
Node.js Backend
Firebase Storage
File Management
Square API
Payments
Gmail SMTP
Notifications
ComponentTechnologyVersion
FrontendFlutter (Dart)2.0.0
State ManagementProvider6.1.2
DatabaseCloud Firestore5.6.1
HostingFirebase Hosting (CDN)
FontMontserrat (Google Fonts)

All Screens (15+)

The app uses a BottomNavigationBar. Each screen maps to a stage in the package lifecycle or an administrative function.

SCREEN 01
Home / Track
Search and track packages by tracking number
SCREEN 02
Receiving
View packages with status=received
SCREEN 03
Check In
Verify, measure, assign to containers
SCREEN 04
In Transit
Track shipped containers and packages
SCREEN 05
Container Unloading
Unload packages from arrived containers
SCREEN 06
Client Pickup
Manage client package collection
SCREEN 07
Unprocessed
Packages stuck in the pipeline
SCREEN 08
Unloaded Not Checked In
Data integrity anomaly tracker
SCREEN 09
Package Problems
Flag damaged, unnamed, or missing info
SCREEN 10
Items & Discounts
Manage catalog, discounts, and charges
SCREEN 11
Invoice
Approve, send, and track invoices (protected)
SCREEN 12
Permissions
User access control management
SCREEN 13
Logs
Activity and action audit trail
SCREEN 14
Loaded Packages
Manage loaded package documents
SCREEN 15
Prepaid
Prepaid shipment file management

Build & Deploy

1
Set project: firebase use --add max-production
2
Build web: cd maxshipping-main-sub/maxshipping-pages && flutter build web
3
Deploy hosting: firebase deploy --only hosting
4
Deploy functions: firebase deploy --only functions
CommandPurpose
firebase use --add max-productionSwitch to production Firebase project
flutter build webBuild Flutter app for web deployment
firebase deploy --only hostingDeploy web app to Firebase Hosting CDN
firebase deploy --only functionsDeploy all Cloud Functions
firebase deploy --only functions:functionNameDeploy a single function
firebase emulators:startRun local emulators (Functions:5001, Hosting:5000)
firebase functions:logView Cloud Functions logs

Cloud Functions (31+)

Firestore Triggers (15)
Auto-fire on document changes: invoice generation on check-in, status sync, duplicate detection, client validation, container init
Scheduled Jobs (8)
Daily data quality checks (invoices, packages, clients, containers), daily reports, weekly lost package and unloaded alerts
HTTP Endpoints (8+)
Public package tracking, email dispatch, client data API, container processing (JSON & XLS)
Callable Functions (2)
sendInvoiceToSquare (payment processing), sendForceUnloadEmail (unload notifications)

Key Firestore Collections

CollectionPurposeKey Fields
PackagesCentral package trackingtrackingNumber, status, clientID, containerID, scanHistory, dimensions
ClientsClient directoryname, email, phone, squareCustomerId, address
InvoicesBilling & paymentsclientID, containerID, packages[], status, squarePaymentStatus
ContainersShipment containerscontainerID, packages[], status, createdAt
ItemsProduct catalogitemID, itemCost, name, category, isTaxable
webPermissionsAccess controlaction, allowedUsers[]
webLogsAudit trailaction, message, timestamp
📖 Deep dive: Architecture | Screens Guide | Build & Deploy | Data Model | Cloud Functions | Permissions
← Back to MaxShipping