An application of topological sort to order the elements entered by the user depending on their dependencies. The algorithm is based on Depth First Search, the UI and the service is built using AngularJS and the code is unit tested with Jasmine. The UI is interesting because the checkboxes have to be bound to the actual dependencies of the element selected. You can try it on Plunker: http://embed.plnkr.co/6XORenAs0zAuoOAOI3Pk
tomsdev/topological-sort-angular
Interesting application of topological sort. Good example of using AngularJS to build the UI, the service and test all the code with Jasmine. You can try it on Plunker: