Hi everyone, I'm happy to announce that koa-neo4j has reached version 1.0, and that it's been in use in two heavy load production apps for 2 months without any major issues.
I've also revamped the docs, explaining every aspect of it, and moved the project to a new github org: https://github.com/assister-ai/koa-neo4j Also the starter kit has been optimized for both development and production, master branch is now using ES6: https://github.com/assister-ai/koa-neo4j-starter-kit Let me know what you think. Cheers, Keyvan On Saturday, September 17, 2016 at 7:05:40 PM UTC+3:30, Keyvan Mir Mohammad Sadeghi wrote: > > Hi Michael, > > I'm thrilled that there has been prior interest and implementation on the > subject! Thank you for sharing. Yeah, it is similar to cypher-rs in that > cypher-rs too serves a Cypher file on a specific route. The differences, as > far as I can see are: > > - koa-neo4j is a separate server, it's completely isolated from the > Neo4j instance. E.g. one can expose APIs defined in koa-neo4j while Neo4j > is not accessible outside the box on which it's installed > - It is designed to bring the best of two worlds together: Cypher and > Javascript. With preProcess and postProcess hooks, one can modify the > results given-to/taken-from the Cypher endpoint. This has proved really > useful in my company as data representation in database stays intact while > custom format is needed in some presentation layers (to give you a > concrete > example on this, a website we're designing needs dashes in place of empty > time slots, using postProcess we augment the response from Neo4j with > these > dashes) > - It gives structure to a project, queries are organised as files > (instead of strings), I can see the logic of my app in a folder that > contains .cyp files! > > Documentation is WIP, at the repo: > https://github.com/satratech/koa-neo4j > > I've put together a demo at: > https://github.com/satratech/koa-neo4j-example > comments in `server.js` in the example are as far as I got in describing > how it works. > > Please do let me know if anything needs clarification, > Cheers, > K > > On Friday, September 16, 2016 at 5:41:10 PM UTC+4:30, Michael Hunger wrote: >> >> Really nice, >> >> do you have an an example project and perhaps a blog post or screencasts >> that demoes it in action? >> >> It's kinda similar to my github.com/jexp/cypher-rs project, that stores >> cypher queries at an endpoint and then allows GET/POST requests on those? >> >> Michael >> >> On Thu, Sep 15, 2016 at 12:20 PM, Keyvan Mir Mohammad Sadeghi < >> [email protected]> wrote: >> >>> Hi everyone, >>> >>> I have developed and open-sourced a NodeJs package that allows serving >>> Neo4j as domain-specific REST APIs. Using this package, one can define her >>> own REST routes instead of endpoints (REST or Bolt) provided by Neo4j >>> instance. >>> >>> Comments and feedback very much appreciated! >>> >>> https://www.npmjs.com/package/koa-neo4j >>> >>> koa-neo4j is a framework for creating web servers that embody >>>> application's logic powered by a Neo4j Graph Database >>>> <https://neo4j.com/> backend. >>>> >>>> In a Neo4j enabled application, conducting queries directly from client >>>> side might not be the best choice: >>>> >>>> - Database is exposed to the client, unless some explicit security >>>> mechanism is in place; one can *see* the innards of the database by >>>> View >>>> page source >>>> - There is no one server to rule them all, queries are strings, >>>> scattered around different clients (web, mobile, etc.) >>>> - Third-party developers might not be familiar with Cypher >>>> >>>> koa-neo4j addresses all of the above issues: >>>> >>>> - Stands as a middle layer between clients and database >>>> - Gives structure to your server's logic in form of a file-based >>>> project; finally a home for Cypher! All of the clients can then talk to >>>> an >>>> instance of this server >>>> - Converts Cypher files to REST routes, a cross-platform web >>>> standard that developers are familiar with, it does so on top of the >>>> widely-adapted koa <http://koajs.com/> server, ripe for further >>>> customization >>>> >>>> In addition it comes with *goodies*: >>>> >>>> - Lifecycle hooks, enabling one to tweak incoming and outgoing data >>>> based on one's needs, allowing her to utilize the full power of >>>> nodejs and javascript ecosystem in the process >>>> - Non-opinionated user management, you describe (in Cypher) how >>>> your users and roles are stored, the framework provides authentication >>>> and >>>> role-based access management >>>> >>>> Cheers, >>> Keyvan >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Neo4j" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
