Interning at Hasura brought me to a brand new exposure to the world which I did not know about. I get to know about the work ethics, team work, communication,app deveopment and a lot more!
How I got that?
I did a course on "Introduction To Modern Application Development" which included an internship from Hasura for those candidates who score among top 5%. The course was one of a kind and till now never seen a course including all sort of concepts and technologies bundled in one pack! It was through this course that I really got to know concepts like API,reverse proxy,bash!
The internship was of 2 months duration during which we have to build web/mobile applications on a given problem statement and deploy it using amazing Hasura's Kubernetes cluster. And yes, forgot to mention, we need to do this in teams.Read morehere
Little bit about Hasura
At first glance, Hasura is a PaaS with BaaS components. It’s built with CoreOS, Docker & Kubernetes so it can run anywhere. In simple terms the deployment with Hasura is a matter of two or three commands. That's it!
If you are a frontend dev and dont wanna hassle of creating server files and configs then Hasura is your friend.
Even for backend it provides built in data and auth api's
I wanted to work on nodejs but could not get since the fellow interns have took that already. It was then I decided to take on the challenge to learn reactjs.
Task 1 in inbox!
Then finally I got my first task:
Difficulties in Task 1:Dec 4-Dec 25
I had my exams but I did manage to learn about reactjs through codeacademy very slowly.
Learning Phase for Task1:Dec 25-Jan 15
After exams got over I seriously got into Reactjs and completed the codeacademy course and made few small apps like todo and name search bar to get comfortable.
Then I delved into building the twitter account pages. It was not so easy still for me because I need to use a UI library. This library then was very new and there were no helpful materials and I took to reading documentation which proved really helpful. Apart from that material-ui docs are easy to follow, the reason it was tough for me then because of jss,grids and quite new ways of using css with react.
Apart from all of these hardships I managed to implement material-ui in my twitter pages. The feeling of completion was amazing!
But I missed the deadline to submit the task. Not only I, there were many interns having the same issue since we all had different exam schedules and were lagging. So,the deadlines were extended on taking this into account!
Now comes some other task :).I got to deploy the task 1 on Hasura cluster. Again, learning phase started and the docs of Hasura and the support of slack helped me to go through that.
The days after completing the tasks!
I was really happy to have my task completed and waiting eagerly for peer reviewing in which an intern working on some technology will be reviewed by the student not working on the same one. I got react-native to review.
Apart from these a lot of things were happening in the slack. I did not get much time to engage in but then I was free so I started looking for smaller queries and try helping others with the implementation. Even if I could not solve I surely try to go through and follow the conversation and learn about the jargons and concepts since everything was new at that time!
Final Team Task : Team 16
As part of this group task, we were expected to deploy a custom service in Hasura that integrates with the Watson Conversation API and implement the use-cases/features as described in the doc.
For this task we were grouped into a team of four and had to work collaboratively to achieve the above task! We had one mentor too from Hasura for guidance and we need to update logs daily as a part of the internship.
Our team decided to build a music bot!
This final task had three sub tasks!!
Final SubTask 1:Preparing Plan Of Action Doc
This doc was going to enlist our plan of work for the coming weeks including the details of the usage of our watson api,references,wireframes and all metadata stuff.I prepared some wireframes too.
We submitted plan of action doc before deadline! And our mentor reviewed and provided valuable suggestions.
From now we were divide into two sub teams:
1.Mobile App team ( ReactNative + Nodejs )
2. Web App team ( Reactjs + Python-Flask )
Final Subtask 2:Building a skeletal integration with API
I have to build a chatbot UI and integrate it with the backend
So from here I have clearly understood that the logic part was with the backend guy and I need to get really creative.
Apart from that,it was not only aesthetics as I thought.After sometime the code started getting complex since that was my first time building any big project like this one with several files and modules.Managing React states started getting cumbersome.
I have to constantly map the components and state flow on a paper to understand the code but it was fun!(I did not know about redux then!)
There were a lot of wow moments when my code worked and when I fixed my own created bugs:P
The components I built:
The task then reviewed by the mentor. He loved it! And pass it to publish to Hasura Hub.
Hasura also posted it on twitter
Final Subtask 3: Extending the functionality
For this one we added the downloading feature and I fixed some bugs and broken UI stuff and added changing background effect!
Finally we completed before deadlines this time too with documentation.
I had a great time after then by helping other teams with there work and my own mobile app team with deployment and ui, etc.
And, that's how my internship came to end!
Hope you enjoyed!!
Now the things at Hasura has changed a lot! ↩︎
Subscribe to Afreen Rahman
Get the latest posts delivered right to your inbox