I wanted to try and create something useful that isn't too far from the main theme of the hackathon. While command line tools are awesome, sometimes a browser can provide a better experience (especially when it comes to plotting, showing data, and interactivity)

It seemed like a nice mix of a fun, potentially useful project that's also within my skillset.

What it does

It allows you to use some tools from Go-HEP from your browser (namely some functionalities of lcio and hplot).

You can view .slcio files from your browser or create a histogram and be able to zoom/pan easily.

How we built it

The front-end is built with Next.js and the back-end is in Go.

As for the choice of front-end, I went with Next.js because I'm familiar with it, and it made some things easier (like zooming and panning images).

The back-end couldn't have been made without Go as it uses Go-HEP to provide its functionality.

Challenges we ran into

Choosing the stack wasn't straightforward. (I didn't even know I could use Next.js with Go)

Marshalling the output of Go-HEP into JSON needed some work.

Accomplishments that we're proud of

First time building a website with Next.js and Go!

What we learned

A lot about Go!

How to write a simple back-end, how to deal with I/O, JSON serialization, etc.

What's next for Go-HEP-Web

Maybe, maybe, maybe, this could be developed further with support for more Go-HEP tools and more functionality within those tools. Only if you find it useful enough to warrant that!

Built With

Share this project: