Learning Materials
Work in Progress
Please edit this page to add more resources. Feel free to comment on how any resources here align with the OpenLMIS conventions.
Videos, online tutorials, and other learning materials. See history in 2017-09-29 Meeting notes - learning materials.
Automated Testing
unit tests, integration tests, contract tests, test coverage, what is a "good test", and practices to decrease Bugs and Regressions (this has become a priority in Summer 2017 when bugs and regressions became a significant pain point)
Automated Testing End-to-End https://www.pluralsight.com/courses/automated-testing-end-to-end
includes: unit, integration, and types of tests; Functional UI TestingAdvanced Unit Testing https://www.pluralsight.com/courses/advanced-unit-testing
includes: DRY versus DAMP, Structural Inspectionwhat else?
Object-Oriented Analysis and Design (OOAD)
Domain-Driven Design Fundamentals: https://www.pluralsight.com/courses/domain-driven-design-fundamentals
Domain-Driven Design in Practice: https://www.pluralsight.com/courses/domain-driven-design-in-practice
Great supplement for the Domain-Driven Design Fundamentals courseJava Object-Oriented Design https://www.pluralsight.com/courses/java-fundamentals-object-oriented-design
Øredev - REST in Practice - Jim Webber https://vimeo.com/41763224
Domains, DTOs - any good materials for that?
what else?
DRY (don’t repeat yourself) and making re-usable code
Clean Code-Writing Code for Humans https://www.pluralsight.com/courses/writing-clean-code-humans
includes: DRY, naming principles, Classes, and "code that is easy to write, read and maintain"what else?
RESTful principles
nouns and verbs, complete representations, caching, concurrency
REST Fundamentals: https://www.pluralsight.com/courses/rest-fundamentals
includes: representations, designing RESTful APIS
UI
Software design patterns implemented in EcmaScript 6: http://loredanacirstea.github.io/es6-design-patterns/
OpenLMIS: the global initiative for powerful LMIS software