Amazing summer journey from RGSOC 2016 team Rookies :D

Posted on by HyeSoo and Tehetena

Categories: blog and student posts

Hey, we are Team Rookies. Our summer story begins with great excitement and our adventure is almost ending with happy memories. For 3 months, we have delved into JavaScript world, learning from the front-end to the back-end to make a Hoodie desktop application. We have learned how to handle events, how to make API, how to split the code efficiently with Riot.js and how to connect our project to the Hoodie server with Node.js and how to wrap the project with Electron Framework. When we look back our summer, it was not only about learning technologies but also about positive mindsets and enthusiastic attitudes. There were many important lessons and we were happy to achieve a lot of progress in our project. This growth of ours was impossible without kind supports and helps from RGSoC, Hoodie, mentors, coaches and supervisor.
And,,,,, Now, are you ready to listen our amazing & exciting summer journey? :D

Summary of our Hoodie-RGSoC summer journey

This is a visualization of our Hoodie-RGSoC summer journey. (Image: HyeSoo)

Positive mindset & Take an action

It has been a happy summer for us to grow up and make progress in our Hoodie desktop application project. We have learned an invaluable mindset towards approaching the problems and taking an action. These days, IT industry is flooded with a lot of new technologies and we might feel overwhelmed sometimes. When we talked about this issue with the mentor and coaches, we learned a positive attitude from them. Instead of trying to cover all must-know new technologies, we can think of how we can move towards problems first and use the technologies as a tool to solve the problems. With this approach, we can have an open mind on challenges and required technologies than getting overwhelmed.
We also have been wondering how we can write a clean and efficient code and how we can broaden our horizon as a developer. While we were talking with the mentor and coaches, we learned an important lesson. If we just read lots of books and do not take an action to make an application, we are likely to forget what we have read/studied. But if we practice what we read by getting our hands dirty by making actual applications, we can grasp more concrete concepts by experiences. We are happy that we can approach current/future projects with a positive mindset and walk through them in a better direction.

2nd Monthly call with a mentor, coaches and a supervisor

Tehetena is in the center, from the bottom left are Esko, HyeSoo, Omid, Pilar and Gregor. (Image: Gregor)

Improvements and progress of Team Rookies’ project

We also have made lots of changes to the code we made in the first month. First, we have learned lots of new concepts in JavaScript. We made 8 different kinds of event handlers to create/edit/update/cancel/delete/go back/start/stop applications. When we had the first response by clicking button with handlers, we were so happy. We also learned how to debug using ‘debugger’, ‘breakpoint’ and ‘watch’ in the browser from Gregor. With these methods, we were able to observe the code flow and expressions and find where an error comes from. There are no perfect applications and most of times, we try to improve our application by debugging or adding more features. They became very useful tools for fixing problems in our project.
While implementing several features for our project, we used ‘event.preventDefault’ to make our custom event. For sorting the apps in the app list, we used ‘Array.prototype.filter()’ and for looking through the application, we used ‘Array.prototype.forEach()’, and ‘Array.prototype.map()’.
We also learned two advanced JS topics. One is ‘promise’ and ‘closure’. We both have never worked with promise and closure before. It took us a while to grasp the concepts. Thanks to Gregor’s helpful tutorials, we have managed to work with promises for making our API work asynchronously and closure for our API safer from the scope of the anonymous function with a private variable.

Promise and Closure

This is an example of our API which with promise and closure. (Image: Tehetena)

When we reviewed the code feedback done by Gregor, we learned how to clean up our current code and how to make an uniform format with a standard style throughout our code.
The other important thing we have learned this month was working with APIs. In the beginning our application main.js file contained all its logics and methods on one long JavaScript file. Now we have tried to split the code into several different tags, using ‘Riot.js’, so that we can manage our code more efficiently. Gregor’s example code was very helpful to understand how to divide our application into several tags that will show and hide according to the routing.

The prototype of Hoodie Deskop Application

This is the first prototype of Hoodie Desktop application. (Image: HyeSoo)

Our plan for the last part of our journey

Lastly, this month is our last part of our RGSoC journey. Time flies. We cannot believe we are already looking at the end of our journey.;D We have grown day by day compared to our beginning. In July, we did not know how to make event handler, API and how to clean up the code etc. But now we are more confident that we can implement interactive web pages and handle API to talk with server and retrieve data.
In the monthly call, we planned our last month with Hoodie mentor Gregor, our coaches Omid & Esko and our supervisor Pilar. While we taught ourselves Riot.js, Gregor worked on the guidance of how to use Riot.js for our project to speed up our project. We tried to understand how Riot.js works for our project with coaches’ helps for several weeks. Since last week, we have studied Node.js and Electron framework to make our project interact with the real Hoodie server side and wrap up our current code with Electron framework. We hope that our first prototype of Hoodie Electron desktop application can be ready by the end of September. We also talked about what we can do after this month in the monthly call. If it is possible, we would like to work as a contributor for the current project, so that if someone who is interested in this project have a question, we can help him/her and if there are errors or bugs, we want to try to solve the issues together in the future.
Everyday we have felt so thankful for RGSoc, Hoodie mentor Gregor, coaches(Omid, Esko, Musse) and supervisor Pilar who have helped us a lot and supported us all the time. Thanks to their great encouragements and helps, we did not lose our confidence during the 3 month journey and we were able to move our steps forwards day by day.
‘Our last journey’ does not mean we will end our stories. We would like to continue working on our project after these happy and invaluable three months. If it can be helpful or interesting to someone, we also would like to share our stories with RGSoC communities.
Thank you so much for the great opportunities and kind helps. We will not forget our 2016 amazing summer with RGSoC.
Best wishes for all of us and RGSoC. cheers! ;D

For further information on repository of Hoodie desktop application, please visit team Rookies’ repository and for Hoodie, visit hood.ie.

<3