Say hello to Oryx.

Oryx is a project I have been working on for a little over a month now, born from another project I'm currently working on (but haven't yet released). It's designed to be a fairly straightforward way to set up an Express app to use models and expose models via an API. This makes it ideal for smaller projects because it allows for rapid prototyping, but it's also extremely useful when building larger applications because some of the pains of setup are simply removed from the developer workflow.

Oryx started because I realised I was rewriting what turned out to be roughly the same code in each application I create; all of it in order to bootstrap my routes and set up any configurations I needed. Typically, I decided I should probably come up with a way to speed this up for myself.

The current state of Oryx is basically just a generic version of all setups I write in my own projects so you may or may not agree with the structures used, but each to their own. Oryx has a bunch of cool features (and it is not feature frozen, I intend to add more as I get time); including profile-based configuration loading, easy-to-version APIs, and model interfaces provided by Waterline. Even just these features already take away hours and hours worth of development effort.

Like most of my projects Oryx is available on npm, so please feel free to play about with it and let me know of any issues or suggestions you may have. The current version (v1.0.2 at the time of writing) is the initial version, I just had some npm woes which required me to bump the version a couple of times - although the code is exactly the same.

Oh, and I also did my best to document Oryx thoroughly in the GitHub wiki. Hopefully everything in there is enough to use Oryx efficiently and without any difficulty; however again, just let me know if something doesn't look right.

As I mentioned, there are several features I intend to implement in future but no roadmap as of yet (after all, it's just a side project). I'll take feature requests into consideration, so please open issues if you have any ideas. Please open issues before Pull Requests; I would hate a PR to not be merged for some reason after a developer has spent their valuable time on it.

Anyway, that's Oryx! Feel free to reach out to me on Twitter about it if you want :)