In a nutshell we developed a fully functional platform : A B2B Freight Marketplace that connects carriers (Service providers) with Shippers (Consumer companies) providing carrier with constant volume of shipments and offering shipper best availability and price.
Backend in NestJS with TypeORM Frontend in ReactJS DevOps Infra Azure and AWS
A data-driven completely automated and dynamic real time platform that is able to deliver seamless registration of frontend users (carriers) with the requirements of the shippers. Automation is key and real time data processing is paramount.
What we built
Fast registration with email verification
Complete Registation after loggin in to dashboad
Add company profile and upload company verification documents.
Simple RBAC 3 predefined roles admin, carrier,shipper
User Pofile & Company Profile for Carriers & Shippers
Register/edit predefined Addresses (Shipper) that can be used later when making land shipments
Register/edit basic driver contact information “Name, Mobile Number” (Carrier) to be assigned to land shipment as part of the milestone and based on that status of shipment delivery goes from “pending” to “in-transit” in real time.
Shipments & Booking
Book shipment flows (Sea & Land)
Place Shipment Request (Shipper)
Manage my shipments (Shipper)
Shipments CRUD (View Shipments/Offers).
Upload supplementary documents required by carrier
Cancel shipment (before accepting an offer)
Manage Shipment Requests (Carrier)
Requests CRUD (View Shipment/ My offers).
Upload supplementary documents
Submit offer (Includes charges (It is not just simple total but it is multiple charges each has it is own name, also not all charges are multiplies by quantity of truck/containers, some are on shipment-basis and some are quantity-based so that should be put into consideration), comments, offer expiry & dates)/Cancel offer.
Update shipment milestones (Assigning vehicle and driver information, transit time, tracking info … etc).
My Invoices (View my invoices with server-side PDF export)
Update invoice status to paid and submit wire transfer data (shipper)
Manage global Comission Markup percentage.
Manage General CRUDs in future development like countries,cities,states,ports.
Manage Users (CRUD) - Custom commission percetage for certain shippers
Manage Shipments (CRUD)
Extract Shipments Report (Based on filters)
Manage Invoices (CRUD)
Verify Company verification documents.
System Wide Configuration
Configurability - meaning constants can be managed from admin settings and not hardcoded in the code.
Multi-currency - System should have AED as base currency and generate final invoice in AED as well (optional currencies USD and Euro with conversion rates)
Email notifications (automation)
Shipper accepts an offer
Carrier submits an offer
New Request placed (Shipper email and notification to all carriers so they can submit offers)
Admin approved documents
User (Carrier or shipper) uploaded a document
Shipment Milestone updated