Digitransit architecture is based on microservices architecture. Microservices are small, autonomous services that work together that allow us to build larger applications on top of APIs that the services provide.
Digitransit has three types of components:
- UI
- API Service components
- Deployment
User interface is a responsive application built with React. Application connects to backend APIs.
Routing, Geocoding, Map tiles, and realtime data are provided through APIs. There are no dependencies between these logical entities. (e.g. Routing will not use geocoder, Map won't use routing). API service component consists of 1..n Docker containers.
Digitransit-deploy project contains tools for DevOps teams. These tools can be used to build docker images, start containers, and link containers together.