When new members come to the The Kansas City Graph Databases Meetup group, they might not have a clear idea of what a graph database is. They might not have any experience with Cypher or Neo4j. They might not know anyone there, and it can be hard to strike up a conversation with strangers. Meetup mixer aims to help with all three problems.
The "View Community" tab of the app shows a bipartite graph with nodes for community members and their interests. We also show projections of people with common interests and topics with common people. This should help people get the idea of the type of graph we're talking about. We're talking networks, not a pie charts!
The "Add Interests" tab allows people to enter their own interests. To make sure people were adding their own interests, we ask users to authenticate with Meetup. This is also a subtle way to encourage people who might have dropped in to the Meetup to join our group. We used the GraphQL service OneGraph to handle authentication with the Meetup web service. That saved us several steps in working with the Meetup API. With OneGraph, you can also easily connected to Twitter, GitHub, and several other APIs with GraphQL.
The "Find Friends" tab gives people a personalized list of other attendees with common interests. This can give people their first taste of graph-based recommendations in a very easy to understand format.
We wanted Meetup Mixer to be an educational tool to help our new members understand a bit of Cypher. As they interact with the Meetup Mixer, he app displays Cypher queries showing users how to create and retrieve data in Neo4j browser.
Neo4j is a GRANDStack app. We used d3 to create the network graph visualizations. Before this challenge, none of has had any experience with React, GraphQL, or Apollo. We learned so much from this project! We welcome your help to make improvements, and we hope Meetup Mixer can add some educational fun to your next Meetup.