https://github.com/Ibetz1/json-flow
Inspiration
Losing old changes I made because git over-wrote them.
What it does
This project keeps a timeline of variables being edited over time. JSN flow is a far more robust and granular innovation on git diff technology and is capable of tracking individual variables, generic types and more.
How we built it
For the Jf library (the engine powering JSN flow) I created it entirely from scratch, this means virtually no std::lib outside of malloc/free. I wrote the entire thing in c++ and used ImGUI/GLFWto create the UI, then I used Nhollman Json to parse Json files quickly (I didn't feel like writing a json parser).
Challenges we ran into
Main Challenge: On the UI I was forced to use std::lib and wanted to rip my hair out. Also trying to record a demo video on a 35 hour code bender (no sleep) then having it corrupt 3 times.
Other Challenges: Developing a reasonably robust algorithm for the Jf library was not an easy task, especially in 48 hours. I definitely could have made it way faster and way easier to follow via the use of hash tables, but I got the job done.
Accomplishments that we're proud of
Actually finding a use for B trees and RB trees outside of search engines....
What we learned
Recursion sucks...
What's next for Jsn Flow
Adding the undo button which would push old changes to variables to the front of the Diff Timeline (explained in the video) effectively creating the ultimate undo button. Adding support other config formats I.E XML or even actual language support (with more advanced syntax trees)
Side Note
I was incredibly rushed on my demo vid because like I mentioned, it corrupted 3 times burning up 2 hours. So apologies in advance for what could be considered low production quality.
live stream links
I streamed the entire dev process. https://www.youtube.com/live/dryJk45Sd9A?si=W8bDMEhf-6Eb0fkm https://www.youtube.com/live/5BFqIw9Jpwc?si=14c3euIQ4TdskB5v
Log in or sign up for Devpost to join the conversation.