@NUSNavigatorBot Telegram Bot

Inspiration

Have you ever been to NUS? The National University of Steps Singapore can be very confusing, even for its students! Countless times have we been late to lessons and appointments because we wasted precious time looking for a way around this maze. That is why we developed NUSNavigatorBot Telegram Bot! Getting you to places @NUS

What it does

It would take in your location, find the nearest bus stop, and show you how to get to your destination.

How we built it

Made with love <3

Just kidding. We used Node.JS since we wish to learn a new platform, and Node.JS seems like it is the most appropriate choice for the task -- event-driven application. Moreover, it has various libraries and most importantly, support for functional programming style. We prefer writing in functional style because it is less bug-prone.

Challenges we ran into

Our initial plan was to build an app in React Native, only to find out that due to the neck-breaking speed at which it is being developed, many libraries released as recent as 2017 are already broken with the latest release of React Native.

We also have to get up to speed quickly on Telegram Bot API (which was easy as it has a good documentation). We also had some problems trying to debug our bot. We only learnt quite late that Node.JS allows debugging via Chrome Debugger Tools.

We also had to scrape the data for our bot manually as there is no complete dataset on coordinates of bus stops and buildings in NUS.

Accomplishments that we're proud of

We managed to finish everything in less than 12 hours!

What we learned

Node.JS is awesome! I can finally have a good GUI debugging system courtesy Google Chrome! Yay!

We also learnt a bit about React Native and jsx. It would be good to use RN if we were to develop an app without external library dependencies, but apparently it is a poor choice for what we wanted to develop.

What's next for NUSNavigatorBot

We can add functionalities to search for any buildings and offices.

Built With

Share this project:
×

Updates