Better Shipping
- Type
- Project
Better Shipping integrated TrueStory's eCommerce application with Webshipper, an external shipping platform, so shipping orders went out automatically and directly to carriers the moment a customer order was placed, instead of someone processing them by hand. The eCommerce side of this ran on Umbraco uCommerce with Struct PIM for product information, a genuinely different architecture from bookings-core's pure microservices, monolithic where the eCommerce app itself was concerned and microservice-based around it, exposing the same RESTful and messaging-pattern conventions as the rest of the TrueStory backend, containerized on Docker and Kubernetes with Elasticsearch-backed logging and Prometheus/Grafana monitoring, with Python alongside the usual C# for parts of the integration work.
Past the integration itself, I refactored the internal admin applications used to place, validate, and process customer orders, and automated several manual steps in how orders got manufactured and delivered, which meant working closely with people outside engineering to adjust the business processes those steps belonged to.
That cross-department piece is the part that doesn't show up in a tech-stack list: shipping automation only works if the people on the operations side trust the new process enough to stop double-checking it by hand, and getting there took as much conversation as code.
Built with
- C#
- XUnit / Moq
- Python
- Umbraco / uCommerce
- Struct PIM
- Webshipper integration
- GoF design patterns
- Monolithic Architecture
- Microservice Architecture
- RESTful APIs
- Messaging Patterns
- CQS (command-query separation)
- Microsoft SQL Server
- MySQL
- AWS EKS / ECS / ECR
- Terraform
- Docker
- Kubernetes
- GitOps (Flux, Flagger)
- Elasticsearch
- Prometheus / Grafana
- SonarQube
- Bitbucket (Repositories, Pipelines)
- Slack
- Rancher
- Traefik
- Spot by NetApp
- LogStash / Kibana (ELK)
- JIRA
- Shape Up methodology
- Toggl Track
- Notion
- Fluent Migrator
- Yeoman Templating
- PlantUML
- Postman
- MyGet (package management)
- GDPR Compliance