Being a Product Development Fellow at Hasura

I was selected as one of the product development fellows at Hasura Technologies based on my performance in the examination of their online course on modern application development (IMAD).

It was a three months fellowship (December 2017- February 2018) and all the product development fellows were given a choice to either work on Front End or the Back End, and a framework to choose.
Teams were formed randomly and each team consisted of both front end as well as back end developers.
I had selected Front End Development and chose to work using the React Native Framework.

So if you are wondering what is React or React Native ?
React is a JavaScript library for creating user interfaces and React-Native is a framework that lets you create mobile device applications (for both iOS and Android) using JavaScript.

What did I learn from this internship ?

  • One of the essential things that I learnt from this internship was that reading documentation is important
    When we are learning something new there are scores of online tutorials that will teach us the basics and some generic applications as examples.
    When we want to develop some new application, there is no online guide available for what we are about to create, so we break it down into small basic tasks of what is to be done and use the documentations to help us do it, and then at the end sum up all the individual tasks to create the new thing.
  • Collaboration and Communication
    When working in an organization or a team to develop something, it is always a team effort and to make things work we need to collaborate with people of various expertise to address the different aspects of a product.
    This is when communication comes to the fore, communicating with everyone on-board on a regular basis is extremely necessary to make sure that everyone is kept in the loop, this ensures that all the different teams work seamlessly with harmonious synchronization. So that during the compilation of the final product each individuals part fits perfectly to give the final product.

    We used GitHub to collaborate, and Discord to communicate (Since we were from different geographies and had to function remotely). Since every individual in the team had their own university schedules, we assigned a day and a time to get online for the next meeting during each team meeting.

  • Ask the community what you do not know and be specific
    Being from Electronics Engineering I had a tough time figuring things out during the internship, the other fellows of this fellowship and the Hasura community helped me out whenever I was stuck.
    But to be helped you need to ask and to ask you need to be very specific in framing the question otherwise the answer might not be of much use.
  • And finally I also acquired some React-Native and JavaScript skills!
    My role in the team was to work on the front-end of a mobile device and the framework I used was React Native.

What did I do during this Internship ?

Individual Tasks

Week 1

The initial tasks were individual and common for the given role and framework a person had chosen to work upon.
For all the React Native developers the task was to setup a React Native development environment and to recreate the following three UI screens making use of NativeBase :

Following is a video of the screens that I coded for this task :

Click here to view the GitHub repository for this task.

Week 2

The task of week 2 was to upload the source code of our Week 1 task on the Hasura cloud using Hasura’s CLI.

It was a simple task to deploying our code from our local machine to the cloud. For web developers it made the webpages they developed available for viewing.

Deploying a mobile application on the cloud was futile so we built an apk file to share our application for grading.

Team Tasks

From Week 3 our team tasks began. Each team was given an app idea to work upon.

Our team task was to Implement a basic Alexa skill that returns answers to simple queries on the Indian Premier League database and to develop a Mobile and Web Application to display those queries along with the answers.

In many screenshots and documents that I have attached the database mentioned is MusicBrainz because initially we were told to work the MusicBrainz Database and later shifted to IPL database instead.

The following document explains the details of what we were expected to work on:
HPDF – Task – Alexa – IPL Data

Week 3

During Week 3, I studied about Alexa Skills and made the following notes.

IMG_20180111_181031274

img_20180112_222809798.jpg

IMG_20180111_181117379

And designed the wireframes for the mobile app using Adobe Photoshop.

By the end of week 3 we submitted the following Action Plan.

Action plan document – T66PF1(old)

Week 4 to Week 8

From week 4 to Week 8 we worked on developing our application.

The most challenging task that we encountered was connecting the back-end to the front-end of the application. We used Fetch API to do that instead of using Web Sockets as we had planned.

IMG-20180702-WA0007.jpg
A snap of the logs which shows that our app was functioning!

We made the submission and everyone who did it got a Certificate from Hasura !

HPDF Certificate_Dhairya Gada-1

0

Leave a Reply