Week 8 & 9 – Angular & Makerthon

portablejim_programming_addictive_sign_clip_art_25605

It’s hard work being seniors at Makers.

I remembered once describing Maker’s experience as if I am an addict hooked on code, and the coaches are the dealers who have the power to unlock or withhold the source of knowledge that gives me so much pleasure yet tremendous pain at the same time.

Too little leaves you wanting for more, too much you can possibly overdose on code/ frustration that leads to self immolation deep down in a rabbit hole.  It’s tricky keeping a fine balance and I gotta say that Maker is as close to getting it perfect for the first part of the course.

I have long being warned by my mentor that being a senior is a lot different from a junior when you have all the love and attention from the coaches and you feel like you are learning loads everyday with a very structured weekly challenge while pairing consistently. The good old days of being a junior.

Makerthon

Not until we finished Angular week and progressed onto Makerthon – when it was the first time we were split into teams of 3-5 people to work on our own ideas, did I get the gist of how it felt like developing software in the real world.

For two and a half days, we had to research, plan, execute and present a MVP (minimal viable product), either a web or mobile application to fulfill whatever we set out to achieve with an initial idea.

SO SAFE

After two rounds of pitching ideas, filtering and final vote, I was honoured to be part of So Safe team to develop an app that can send request and receive confirmation to loved ones at times of crisis – especially when zombies or Godzilla could be threatening mankind’s survival.

We were ignited by a rush a adrenaline mixed with a sense of uncertainty.  The possibilities were limitless, yet there was no structured path or solutions telling you what to do.

It was definitely time to step out of the sandbox.

MVP Planning

MVP planning

Kicking off the project, we unanimously agreed to prioritize one single key feature as our MVP over having too many features / biting off more than we could chew.

The ultimate goal of the app is to enable user to send a request ‘Are you ok’ to friends, by clicking on a giant red button.  Friends would receive a request to confirm their safety, by clicking on a green button ‘I am ok’, which will then send a response back to the user.

Addition features that would have been nice to have included multi-users, a log-in page with user name & friend’s name, and a final confirmation page that is shown when all friends have confirmed ‘I am ok’.

Technology

After identifying our user stories, key decisions were made to develop a mobile ios app considering that people would most likely use a mobile app on the go in case of ’emergencies’. Thank goodness for mobile technology – I seriously don’t know what people used to do back in the days during emergencies, send a pigeon / fax?

The technology stack:

  • Ionic framework
  • Javascript
  • Angular (interactive frond end)
  • Firebase ( backend realtime database)
  • Karma (Angular testing)
  • Phantom (Angular testing)
  • Protractor (feature testing)

 

Screen Shots

Here are some screen shots of So Safe app, it looks simple but definitely to the point:

It was daunting having to research and pick up two brand new technologies that we have never used before, ionic framework and firebase, while figuring out how different components would fit in together.   I don’t know how many times I have to describe feeling out of my depth to then realize how little I knew what that meant exactly.  The threshold of depth is infinitely unknown.

Thanks to implementing an iterative process from the get go and organizing our git workflow with waffle and a rotational pairing schedule, we managed to pull off our MVP plus most of the additional features!

We couldn’t be more pleased with what we managed to do in 2 and a half day, seriously.

Not to mention I was completely blown away by the creativity and quality of work that each team had produced at the project presentation.

Feeling proud and humbled at the same time, I am ever so grateful to be working along side my fellow makers who never cease to amaze and inspire me since day 1 at Makers.

Gratitude

Everyday when I look out of the windows, I am reminded of how lucky I am.

FullSizeRender (1)

Week 7 – Becoming Seniors + Ruby on Rails

OMG-GIF_2

Need I say more about becoming seniors?

O.M.G – It is awesome! 

Rejuvenated by the lab week (mostly caught up on sleep), week 7 kicked off with a bang! It was lovely meeting the enthusiastic but slightly nervous juniors and introducing ourselves while eating their yummy (leftover) croissants for breakfast.

Welcome to the Maker’s family and good luck everyone!

Ruby on Rails

How does one describe Ruby on Rails?

For those of you new to coding, Ruby is a programming language and Ruby on Rails is web application model-view-controller framework written in the language Ruby.  Two different things but both very powerful.

Having learned to develop a basic web app using Sinatra (app framework) & Datamapper from week 3 where every single feature was manually built, learning rails makes you feel like you just walked out of medieval times with stone hammers straight into the future of automation where things are miraculously done for you.

We call it rails magic. 

For less than 10 lines of code, entire functional backend for user sign up, sign in, sign out page with password validation and alerts are created for you with the gem Devise. My jaw dropped when I realized how just 3 weeks ago, it took us hours to built the same thing manually in Sinatra.

I finally understand the phrase ‘convention over configuration’ – Rails is a perfect example of an incredible conventional framework that does a lot of work for you in the background as oppose to tailored configuration from the get go.  It is especially powerful for prototyping a minimal viable product in a short span of time.

Some people hate it, some people love it.  Isn’t it incredible even for us juvenile coders, we are beginning to form our own opinions?

Inspiration of the Week

As much as we are (almost) completely sheltered form the rest of the world while in coding universe, a lot had happened over the past week, including the tragedy of terrorist attack in Paris.

On notable tender moment occurred when my pair partner told me that friends whom he had sought advice from for a potential start up idea were lost at the Bataclan attack.  We fell into a moment of silent reflection and carried on learning rails with more motivation and conviction than ever, hoping that one day we can realize the idea as a tribute to the spirit of love and freedom.

Pairing of the Day

Well, this ‘family portrait’ is the prefect example of how my awesome fellow makers are always game for any fun and crazy ideas I suggested.  Here in the photo features Mateja as papa bear, myself as mama bear, Aaron as the baby bear, and Dovile as the super governess Mary Poppins.

I love you guys!

family portrait