# Feeder Customer Portal

> Rate matrix, hazardous-cargo checks and slot-loss maths for oversized containers, on web and mobile from one codebase.

- **Client:** Unifeeder
- **Industry:** Feeder shipping
- **Stack:** Angular, Ionic, Spring Boot, Spring Security, OAuth 2.0, Oracle, AWS EC2, AWS S3

## The problem

Unifeeder, one of the largest feeder operators on the Indian coast, wanted a portal any vessel or feeder customer could use: bookings, schedules, tracking, invoices and documents, synced both ways with its custom ERP.

Feeder bookings are not simple forms. Rates depend on routes, hazardous cargo needs approval, and oversized containers cost slots that have to be calculated before a booking is accepted.

## What we built

- **Booking that adapts:** The most complex screen in the portal: the booking form changes with route, cargo and container conditions.
- **Rates and slot loss:** A rate matrix per route, and slot-loss calculation for oversized 20ft and 40ft containers and their subtypes.
- **Schedules, tracking, invoices:** Search schedules by port pair and date, track by booking number, and view pending and part-paid invoices.
- **Web and mobile, one codebase:** Angular on the web and Ionic with Angular on mobile, sharing libraries and services.
- **ERP sync and notifications:** Scheduled jobs call the ERP's REST APIs both ways; separate jobs send email and WhatsApp notifications.

## How it's built

Spring Boot with Spring Security and OAuth 2.0, Oracle database, Apache Tomcat on clustered EC2 instances behind load balancers, and documents on Amazon S3. Delivered as a turnkey project.

## Results

- One portal for bookings, schedules, tracking and invoices, on web and mobile.
- Hazardous-cargo and slot-loss rules applied before a booking is requested.
- Delivered turnkey, from design to deployment.

## Related services

- [Enterprise Platforms & Integrations](https://infomovertech.com/services/enterprise-platforms-and-integrations)
- [Product Engineering](https://infomovertech.com/services/product-engineering)
