So I was laying in my bed late at night, just scrolling through my phone when I got invited via email to take part in the Hackathon. I obviously accepted the invite without any idea as of what to build. So I put my phone away and closed my eyes. Things quickly started to come in my mind. Things I regularly need in my daily life. So I decided to build out of demand. Hence InCompany is created.
What it does
Ok so, normally when I want to order some food via our company restaurant, I will need to call the employee and give my order via phone. The employee is taking all the orders. Passing them to the kitchen and processing the order, payment etc. Payment is done in cash and is tedious. My app InCompany fixes all these issues, orders can now be easily placed via the Facebook Messenger bot and payment will be processed via pay.nl (by card). The orders are send to the kitchen whenever they are paid for. So no more "fake" orders.
You can order anything you want that they sell in the restaurant. And the process is pretty fast.
How I built it
Challenges I ran into
A bunch. Mostly the "learn while you do" was hard. I am new to node.js but I know Java and Python pretty well. So wanting to do the same thing in node.js was not easy, because I did not know how what the right syntax was/is. It was a struggle to go back and forth in Google and my IDEA. Also the "promises" and "async" function in node were strange at first. Lucky I knew how the "observer/observable" design pattern works, so I got around it pretty quickly.
Accomplishments that I'm proud of
That I learned node.js in such a short time. I have done my fair share of API's and server backed programming. But learning node.js was a totally different thing. I am now confident enough to build enterprise applications in node.js.
What I learned
It's cool to see how Facebook has developed their API for messenger. It seems like such a simple thing "messenger". But being able to add an entire backend behind the scenes of messenger is pretty darn impressive. In my case, the entire InCompany backend, the order backend and the payment backend. These are two backends running on Heroku and accessible via the messenger chat and one third party. That's impressive technology that Facebook build and made public for usage!
What's next for InCompany
Well, implement the whole thing into an existing company that is as modern like InCompany is! Who wouldn't want to order food that is delivered to their desk while they are checking Jenkins and fixing code. All for the productivity baby.