Hacker News new | ask | show | jobs
by momofuku 1165 days ago
I work in robotics, so I always find clean front-end implementations pretty neat. Can you tell me how you got this to work? How do you host all of it? What is the back end you use? I apologize if this seems too basic, but I'd appreciate any details you have for me. My goal for this summer is to work a bit on front end tech, so that I can present better visualizations, and build simple CRUD apps to showcase my data. Thanks!
1 comments

Thank you!

The way it works is very simple. I'm copying from a comment I made earlier:

Everyday IMDb publishes bare bones datasets at https://www.imdb.com/interfaces/. I've a bash script to download them, format and load into MySQL from which I export two types of json files:

1) A file with all the TV shows names, id, ratings etc (shows.json) - this is what's used for search. It weighs < 700KB compressed (I could certainly optimize this file but I've stashed it for later).

2) A file for every tv show with all the ratings and votes for its episodes. Based on your search, the specific file will be fetched to display the ratings. (This one file per show could also be optimized but looks premature at this stage.)

Strictly speaking, a database is also not necessary but it serves 2 purposes: 1) I could easily query to satisfy some curious show related questions. 2) The datasets include a ton of stale data (like shows w/o episodes and vice versa), so I find it easier to cleanup through SQL.

The above architecture allows me to host the site as a static site. When I launched, I had a typical node backend that connected to a db to run searches etc. But thought it was way too much infrastructure for a simple site!

Glad to hear you have a concrete goal. Front-end is actually easy to pick up if you don't get carried away by the latest thing on the block. IMO, it's pretty mature nowadays and I prefer the tools available now over the ones I had when I started way back.

If you've no front-end experience, just pick framework like Vue or React and start building stuff. If you've the time, I'd even advice you to start with vanilla JS, HTML & CSS (https://developer.mozilla.org/en-US/ should be your bible). It will not only set you up with a solid foundation but let you appreciate the conveniences & conventions when you pick up a framework. There's tons of tutorials available for pretty much anything web related. Good luck!

Thank you so much for the detailed explanation and pointers to resources. I am very excited to get started from this.

Thank you again!