Developer "Guide"
Technical concepts
- Microservices (vs. monolithic application)
- Containerization (Docker)
- Continuous Integration (CI) / Continuous Delivery and Deployment (CD)
- Automated testing (unit tests, integration tests, functional tests)
- REST API design
- Semantic versioning
Software Tools / Tech Stack
Back-end services
- Java 8+
- Spring / Spring Boot
- SQL
- Postgres 9.6+
UI
- JavaScript, ECMAScript 5 / 6
- AngularJS 1.x
- HTML / CSS (SASS)
Reporting stack
- Python
- Nifi
- Superset
Dev and build environments
- Git
- Docker
- Gradle
- Jenkins
Good to know
- Grunt for UI build
- Karma / Jasmine for UI unit testing
- Sonar for static code analysis
- Flyway for database migrations
- Taurus / JMeter for performance
- Transifex for translations
OpenLMIS: the global initiative for powerful LMIS software