Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

DIGIT is India’s largest open source platform for Urban Governance. It is built OpenAPI (OAS 2.0) and provides API based access to government functions enabling government to provide facilities via integration with relevant service players. variety of urban/municipal services enabling state governments and citi administrators to provide citizen services with relevant new services and also integrating existing system into the platform and run seamlessly on any commercial/on-prem cloud infrastructure with scale and speed. 

  • DIGIT is a microservices based platform

  • DIGIT follows layered architecture which increases flexibility, maintainability, and scalability. Every layer consists of set of microservices.

  • Backend Microservices are comparatively very small (SpringBoot), each service is backed into docker containers and orchestrated in Kubernetes Cluster to run with scale and speed .

  • Frontend is React, NodeJS (Web, Mobile(WebView))

  • Kafka: Every service puts their topic into kafka queue and the consumers like persister/Intexer/searcher/any other consumer will consume.

  • PostGres DB

  • ZUUL API gateway

  • ElasticSearch for the large data and analytics

  • nginx Ingress to route the traffic

...

Highlights:

  • DIGIT is a microservices based platform which is built to scale, microservices are small, autonomous and developer friendly services that work together.

  • A big software or system can be broken down into multiple small components or services. These components can be designed, developed & deployed independently without compromising the integrity of the application.

  • Parallelism in development: Microservices architectures are mainly business centric.

  • MicroServices have smart endpoints that process info and apply logic. They receive requests, process them, and generate a response accordingly.

  • Decentralized control between teams, so that its developers strive to produce useful tools that can then be used by others to solve the same problems.

  • MicroServices architecture allows its neighbouring services to function while it bows out of service. This architecture also scales to cater to its clients’ sudden spike in demand.

  • MicroService is ideal for evolutionary systems where it is difficult to anticipate the types of devices that may be accessing our application.

...