This project is a Command Line Hack for Social Utilities and Entertainment. Since running common tasks on GUI is too main stream, we wanted to play around with the terminal to try and perform as many common tasks via the command line without lifting your hands of the keyboard.
What it does
CLI-Hack is a command line utility in the form of a terminal window that is split into multiple panes, each running a unique task. We implement the following functionalities via command line:
- Sending SMS to a contact on your Google Account
- Automatically send Birthday Wishes via SMS to people having birthdays on the current day
- Stream spotify music with play, pause, next, previous controls.
- A pac-man game for whiling away time
- Gmail inbox with all functionalities
- Play a video from youtube in ASCII
How we built it
We used tmux to combine all the individual terminal hacks. The Birthday wisher is built using Twilio and Google Calendar and Contacts APIs. We sync the contacts from the google account of the user and wish people having their birthdays today. The user can send texts as well like a normal messaging App from terminal using Twilio. We used Spotify API to stream online music and control it via terminal. We used Youtube to stream online video in an ASCII format on the terminal in an additional pane. The terminal utility also allows user to control their entire Gmail account with full functionality via terminal using Google APIs. As a fun add-on, we have also implemented and integrated a Pac-Man game using C/C++ that can be played on the terminal.
Challenges we ran into
Configuring tmux and invoking the different scripts to run simultaneously on each of the panes. A major challenge was to interface with the various APIs using command line statements and shell scripting. This involved parsing different formats and types of incoming data streams. In particular, the youtube video stream had to be piped to a player in real-time and then convert to ASCII. Understanding the twilio and google apis to effectively sync user contacts and extract information and actuate messages via Twilio. Configuring vim editor to incorporate the gmail inbox and load it completely was another challenge we ran into.
Accomplishments that we're proud of
Assembling all the bits and pieces of individual hacks and successfully providing 6 different functionalities in 1 terminal in 18 hours.
What we learned
Hands-on experience with different APIs, and every aspect of the project was new to us.
What's next for CLI-Hack
Many more functionalities that could not be included because of time constraints can be added.