Hey, I'm new to neo4j

Hey folks,

How's it going? I'm brand new to neo4j.

I've been using graphql, react and apollo for a while. For a new project I've struggled to find the perfect database.

I discovered the GRANDstack today, and I'll be honest, I think neo4j is gonna work out for me. I'm following this starter project. https://grandstack.io/docs/getting-started-grand-stack-starter.html

I've already adapted it and within an hour or so I'm querying and mutating data for my models.

It's awesome.

Thanks :peace_symbol:

Hello and welcome! :slight_smile:
It sounds like you've got a good base to get into Neo4j from. How much can you say about your new project?

Thanks for the welcome :slight_smile:

I guess I can say quite a lot about the project.

Some background info... Idena is a crypto currency which is pseudo-anonymous, and enables digital voting to be one vote per person. There's additional reading on the project homepage idena.io and for context in terms of voting it is referenced in this paper from https://democracy.earth/

They have a co-funding model for builders, makers, developers etc. I am a community developer that's involved in building a kickstarter-style website to show co-funding project proposals, keep track of funding and milestones.

For the tech:

I'm using GRANDstack + next.js

Proposals are stored in a Gitlab repo as markdown, for transparency. These will be synced to the neo4j database each time a commit is pushed to master branch.

Each, proposal has a donation/voting address. This is where a voter will send their vote, from the Idena wallet. This data is synced from the blockchain to the neo4j database periodically.

We also have milestones, translations and payouts. Here's an example set of the data.

  • Yellow are votes
  • Orange is the voting address
  • Red is the proposal
  • Blue are translations
  • Brown are milestones
  • Green are scheduled payouts for when milestones are complete

My experience so far.

I struggled big time with sequelize, and tried other options like and Prisma, considered Hasura, typeORM.

I'm honestly surprised it took me so long to find neo4j as a recommended database for a graphql react project. You guys are the real deal! :D And, IMO a solid alternative to Prisma + SQL database - for anyone who is familiar with graphql, neo4j + neo4j-graphql-js is a real breeze.

I've learned some cypher, all I needed I was able to pick up from inspecting existing queries, like this:

import { cypherQuery } from 'neo4j-graphql-js';

const Query = {
  Transaction(object, params, ctx, resolveInfo) {
    const [query, queryParams] = cypherQuery(params, ctx, resolveInfo);
    console.log(query);
    console.log(queryParams);
  }
}

I look forward to being part of the community here. And, having some questions answered if i hit a wall ;)

The project will soon be open source, so I also look forward to inviting some feedback if you folks don't mind :sweat_smile:

Thank you for such a good product and for having me here :smiley: