SwissPost - Consignment Notification Service
2016
Why
PostLogistics
wants its clients to be kept informed of their shipment status and have the option of controlling how they receive it.
What
To design and develop an online e-mail/SMS/Push notification service,
which notifies Swiss Post registered users about the status of their parcel inside the logistic chain of the Swiss Post.
Requirements
- To consume incoming scanning events and send notfiication based on decision making logic.
- To expose a B2B notification service to both outside (Swiss shops) and Post internal services.
- To define a public API.
- To send notifications by e-mail, SMS, and Push.
- To ingest until 100'000 scanning events a day.
Challenges
- Increasing load of events to be handled.
- Complex business logic that manages several workflows and sending decision logic, depending on the product.
- Availability, scalability, idempotency, ordering, security.
- Compatibility between internet browsers on both desktop and mobile platforms (Android, iPhone)
- Integration with internal and external consumers
- Architectural and organizational constraints
Organization
Scrum Team of 3 software engineers (me as technical leader substitute), 1 project manager, 1 business analyst.
Technologies
- Java, Spring, Hibernate, Camel, Activiti, Drools
- SOAP API, JMS
- Oracle, Tomcat
- Jenkins, SonarQube, Splunk
Links
Official product