Features

Picture writing a SQL query on the frontend and saying, "update this array whenever the results for this query change." Now instead of SQL, your query is a simple JSON structure and has automatic access control built right in. You can have all your logic on the frontend, or the backend if you prefer, because you work with the data all the same. That's Nymph.

Speedy

Nymph is lean and fast. Not just in processing, but Nymph can be used for rapid prototyping.

Open Source

Nymph is licensed under the Apache-2 license. It provides all you need to build a backend for your app and the frontend tools you'll need as well.

Reactive

Nymph's publish/subscribe server makes it easy to build collaborative apps. You can subscribe to complex queries from the client and be notified when the queries' results have changed.

Secure

Nymph provides an optional user and group manager called Tilmeld that secures your app based on granular permission controls.

Framework Agnostic

Nymph is very easy to integrate into React, Svelte, Angular, Ember, and more.

Nymph's easy querying on the server and client makes it perfect for building complex apps with any frontend framework. Because you don't have to write SQL, almost all of your logic can be on the client side, if you prefer. You can also use backend logic in the client as if it were written on the front-end with automatic asynchronous server calls.

Nymph's REST server package makes it easy to integrate anywhere in your app. It provides an Express middleware that you can place on any arbitrary endpoint.

Nymph's PubSub server package makes synchronizing your client with pushed changes from the server super easy. With a reactive framework on the frontend, your UI will update in near real time to changes to any entities that match your subscribed queries.

Full API Docs

If you want to really dive deep into Nymph, you can also browse the API docs, which covers every part of Nymph's API.

Migration

In 2021, Nymph was migrated from PHP to Node.js. You can also visit the site for the legacy version.