Now in the fifth week of their internship, the interns have fully taken on their roles and responsibilities as software engineers and testers at CAKE LABS. In this issue of the diary, we hear about their experiences in working on an assortment of different projects, concerning data-sharding, developing web services and more.
The week started with the completion of the CAKE MENU PRINTING development. At the daily standup meeting we discussed the issues we faced, the things we learned, and received an update on future developments of the feature. Then I moved to the Engineering Center (at Flower Road) with Roshan to begin a new sprint. Charitha and I then worked on migrating the on-line order reports from the customer section to the reports section. Basically it was a refactoring of code of about 40 files which took me most of the week to complete. I then started fixing bug tickets for the UI components and came across new bugs while fixing the existing ones. The QA guys made jokes saying I didn’t find bugs, but that they found me!
We were able to participate in a sync meeting where the higher management was updated on the current development status of the product. It was a good experience. Roshan made sure that I was on track and was also enjoying the work I do here. I thank him for being such a good mentor and providing support and guidance during my internship at CAKE LABS.
This was my last week at the CAKE LABS Operations Center, which is a cool space to work in. In preparation for the move to the Engineering Center (at Flower Road) to work with the team, I completed all the work I had queued. During this week I received good exposure towards code documentation and initializing code bases in the industry. I learnt a lot of new things, but of greatest interest to me was developing a web service. It was a brand new web service to be used for CAKE LABS’ PDF generating requirements.
As usual Subhash, my supervisor and a software architect, shared great knowledge and exposure towards industrial practice and quality. At the very beginning I was unable to adhere to the standards, but by the end of the week I mastered the art and completed the tasks on time.
This week I worked on adding a mask to an input component. I played around with many React plugins but all of them had a new component included, so I used a regex to define the pattern and a script to implement a customizable mask. Charitha and Hasitha helped me to clarify any of the parts that were unclear. I’m very grateful towards them for keeping me on track and supporting me with my work.
We attended a sync meeting where updates on the product development were presented to the upper management. The team reported the progress and issues to Mr. Dilhan Manawadu (Director, Quality Assurance and Process). Since we had never heard of a sync meeting, Praveen explained it to us – it reminded me a little of our semester project evaluations!
Last week there was a database sharding release. Sharding is a type of database partitioning that separates very large databases into smaller, faster, more easily managed parts called data shards. Here, the restaurant specific data and the common data are separated as the database grows.
I was assigned some tasks in the sprint following the sharding which were not as tough as the previous week’s tasks. There were quite a few releases for that week and I finished all the tasks assigned to me. It was a week with a lighter work load and great team work, which allowed us to test the releases quickly. Working with the team was very interesting and enjoyable, and everyone was very supportive.
The CAKE.net project was built on the reflux framework which maintains unidirectional data flow. Thus, I had to familiarize myself with the reflux framework before I could start to work on CAKE.net. Then I designed the flow diagram of each proposed signup mechanism with the guidance of my mentor, Thisara Amaradasa. After the approval of the flow diagrams, I started to implement the second flow of the signup flows, which is for merchants who are not listed on CAKE.net.
However, the requirements were not finalized by the time the implementation had begun. So till we finished the requirement clarifications of the third flow, I started to implement the third flow of signup flows which are for merchants who are already listed on CAKE.net but without menus. The existing image upload plugin in CAKE.net called filestack was used to implement the new feature.