What is the technology stack of Learning Navigator?
- NLC embraces open-source technologies in realizing the Navigator and at a broad-level following are the guiding design principles used:
- Microservices architecture for better scale
- RESTful API with JSON responses to access core features
- Consistent API design for ease of development
- Open-source technologies at all layers of solution
- Queuing over message bus for communication across microservices
- Localization support
- Scalable with minimum footprint
- Deploy not tied to custom infrastructure
- Consequently, the choice of technology reflects the same:
- Ubuntu Linux OS is the choice of development and deploy environment
- Java-based microservices implementation
- Postgres database as a primary datastore
- ElasticSearch extensions for search engine
- Postgres based datastore for analytics data
- Kafka as a message bus for data relay across microservices
- AWS hosting environment, leverage at infra-level and not custom services
- Github for source code management
- Atlassian Bamboo for CI/CD
- Atlassian Jira for product backlog, releases, and bug tracking