Inspiration
Long ago I was in a team at my university where we developed a graphical editor for timed automata. From time to time I remember that and think about starting a similar project. The contest was an inspiration to make first steps in that direction.
What it does
There is a script that parses a simple numerical expression and two scripts that retrieves named expressions which are the root nodes. One prints out an infix representation and the other a postfix.
How we built it
As suggested I started with Grandstack but I failed to create a working web ui. I managed to write scripts to retrieve some data and a script to create a graph from a given expression.
Challenges we ran into
I hoped to get an easy start with Grandstack ('like advertised'). Grandstack starter app does not work like expected (i.e. shown in videos). Seeding a db resulted in 12 instead of 4 users and also additional reviews. Even after removing duplicate users the users webpage (web-react) still shows errors. The angular version even has errors on the business page.
It was not easy to skip these problems and start with my own database. I was able to create a schema.graphql for my db. I was able to create code to query and mutate - both still very simple. When I ran into problems I searched the internet for solutions, but I think most of the time I wasn't able to find good explanation of simple but a little more complicated than in the tutorials steps. I was switching between GraphQL-sandbox, Neo4j-Browser und shell (javascript code).
I did not have time to learn react beforehand.
Accomplishments that we're proud of
I was able to get the prototype running although not a nice ui.
What we learned
A bit of npm, grandstack.
What's next for numerical expressions
There are other GraphQL interface libraries and I have experience in desktop software and iOS. So may be I try to switch to iOS or .NET. On the other hand maybe I learn a bit about web ui in Javascript.
I am interested in feedback and will try to answer questions if there are.
Log in or sign up for Devpost to join the conversation.