We spend half our time in the browser and half our time on terminal (because we're nerds..), so we decided to merge them!

What it does

Termibox brings the functionality of the Terminal into the web - and then some! We implemented different bash commands (ls, cd, grep) as they would apply to websites - for instance, typing "cd .." will bring you back to your previous page and "cd" will bring you to your home page. But, then, we added some new functionality as well. We created our own commands - like dataset-gen - to easily search the web using our extension. Typing "dataset-gen " will manually create a downloadable database of relevant pictures based on the query.

How we built it

We added in a new Chrome extension, by using Omnibox, that's triggered by typing "$ " into the URL bar. Then, for each command we commonly used in Terminal, we tried to think about how it would apply to the Internet. Some - like "cd" - were easy to transition. Others, like "grep" or "cat" required some creativity. The next step in our project was to implement something in Termibox that was harder in Terminal. This brought us to dataset-gen - it's often difficult to find good datasets. So, we used the Bing Search API to search for any query passed into dataset-gen and added capability to easily download these datasets.

Challenges we ran into

Some of the APIs were rather difficult to use and it took us a really long time to get images of a decent quality - by filtering out logos etc. - through our web scraper.

Accomplishments that we're proud of

We implemented a whole bunch of terminal commands and managed to have enough time to integrate some new commands. We also built a website which serves as the Termibox manual! (Also, we managed to hide a Pusheen in our extension...find it if you can!)

What we learned

We learned how to develop Chrome extensions!

What's next for Termibox

We'll make the Github repos public so people can add whatever new commands they would want to see :)

Share this project: