mythmon / edwin

A bug management system
Mozilla Public License 2.0
4 stars 0 forks source link

Add BaseStore and BaseComponent. Add GitHub PRs. #15

Closed mythmon closed 9 years ago

mythmon commented 9 years ago

This is pretty big, and wandered a bit, unfortunately.

I added a new store to correlate bug and PR data. I'm not 100% sure this is the best way to approach it, but it seems to work.

I added a BaseStore and a BaseComponent to factor some common behavior.

I also struggled a bunch with Immutable.js. I think I'm getting the hang of it. Going forward, I think that that all data that comes out of the stores should be Immutable.js objects, but all other data in the system should be normal JS objects. I think that means that the components only deal in Immutable objects too. That's good, later we can use it to make the UI go super fast. The stores are the place where native JS objects become Immutable JS objects.

I've maintained, I think, pretty good test coverage. It has been useful. I'd like to explore how to test the components.

willkg commented 9 years ago

This looks fine as far as I can tell. I need to spend more time on learning flux, but I doubt I can do that enough of that today to have more meaningful thoughts.

I think instead we should just plunge ahead and write edwin with the expectation that we might hit a point where we want to rewrite large portions based on what we learned.