Feeder Customer Portal
A customer portal for vessel business that can be used by any vessel / feeder company
Apache Tomcat
The app provides features like creating & listing bookings, getting the status of bookings, and notifications, viewing pending invoices, calculating rate matrix, and managing profiles. One of the major and the most complex feature of this app is creating a new booking; it involves a complex user interface depending on various conditions.
Problem statement
Our customer who is one of the largest feeder companies in the Indian coastal region, wanted us to implement a platform that can be used by its customers.
A customer portal for vessel business that can be used by any vessel / feeder company
They wanted users to build a platform that integrates with a custom ERP solution. The integration was supposed to be two-integration. A booking created on the platform must be sent to the ERP and the bookings created directly on ERP on behalf of the customer must be shown on the customer platform.
The synchronization between the two systems was supposed to happen at regular intervals. The status updates were also supposed to be updated on the platform in a timely manner
Email and WhatsApp notifications was yet another critical feature that the customer wanted.
The tracking information was yet another critical feature that the customer wanted and that too in real time.
Providing the option to upload documents and view documents in elegantly designed document viewer was yet another key ask.
The application was supposed to be highly-available, concurrent, reliable and fast and also, was supposed to adhere to the standards and principles of modern-day dev-ops.
The Solution
This was a turnkey project. The backend application was architected and implemented on top of Springboot. The web app was built on top of angular. The mobile app was developed using the Ionic framework with angular as the base. We created shared libraries between web app and mobile app and reused services and model classes.
Uploading of documents, user management etc. were all designed and implemented such that the documents get stored on AWS S3
The integration layer was implemented by implementing CRONs that invoked REST APIs on the target system (the ERP)
CRON services were written in order to get the latest updates with respect to tracking and booking statuses from the target system
CRON services were written in order to provide notifications via email and WhatsApp
The security layer was implemented by us using Spring Security and Spring support for oAuth 2.0
The deployment architecture included clustering of ec2 instances with load balancers in front.
Liked what you read?
Do you have a project that you need help with ?