Hey everyone, I’m Chaitanya Thakur, currently pursuing my bachelor’s degree from University of Mysore. Sharing a glimpse of my initial month’s journey as a Code for Govt Tech contributor. You can read my previous blog about what led me to this point here.
My journey kicked off with a surge of excitement, diving right into the project. We started by tackling some small issues to get familiar with the codebase. There was an immense satisfaction as one of my pull requests got merged into the massive repository. Witnessing the changes I made in action truly made the hard work feel worthwhile.
Before diving into the project, we took the time to learn about some crucial technologies used to build the Glific Internal Dashboard: Phoenix LiveView and Ecto. Liveview serves as a framework for creating real-time web applications, while Ecto acts as a data modeling library within the Elixir programming environment.
As we embarked on building the dashboard, our initial milestone involved integrating graphs into the dashboard. There were already a few graphs present in the dashboard, so we needed to figure out how they worked and then build on that. The way it worked was, we used ecto to fetch the necessary data from the database. This data was then passed to the Liveview component which uses its template to render the HTML which included the graphs that is generated by Chart.js, enabling real-time updates without a page-refresh. This was a good opportunity to learn how to use the Liveview and Ecto libraries.
During this period, I had the privilege of meeting some of the amazing folks working on Glific. It helped me learn more about the product’s features. I also got to see how they were collaborating with the end users, which was very inspiring. They sat down together and brainstormed ways to solve problems. It was impressive to witness their teamwork in action, as they pooled their ideas to find solutions. This experience highlighted the strength of collaboration and how working together can lead to innovative troubleshooting approaches. This whole experience made me appreciate the power of collaboration and user feedback even more.
A special mention goes to my mentor, Akhilesh. I was a little overwhelmed at first, he was incredibly patient and always ready to help, even when I needed things explained a few times. He was always there to answer my questions and help me fix any issues in my code. I’m really grateful for all the help and guidance he provided. Additionally, I want to express my appreciation to my fellow contributor, Vishisht, for the collaborative and enjoyable experience we’ve had working together.
This milestone also included enhancing the dashboard adding few cards which would represent some important metrics. And this is when we realised the real-time updates in the graphs weren’t functioning as intended. This was because Chart.js itself doesn’t provide real-time capabilities out of the box. It’s typically used to generate static charts that display a snapshot of data at a given moment. This was a big learning experience for me, and it made me realize the importance of understanding the technologies I am using. So we started researching about other technologies to handle this within liveview.
As we reached the mid-point evaluation, it was a great chance to look back on how far we had come and get valuable feedback from our supermentor, Lobo, as well as see the progress made by other contributors to their projects, which was very really cool.
The supermentor gave really helpful feedback on our project. He also gave some really useful advice about considering the value of our work and what it brings to the project. What struck a chord with me was his encouragement to voice my questions and thoughts early on, regardless of my intern status. This taught me the power of being proactive and vocal about my ideas.
The journey so far has been incredibly rewarding. I’ve discovered that the joy lies not just in reaching the destination but in embracing every step along the way itself. As I look forward to upcoming milestones, I’m enthusiastic about the road ahead and how far we’ve come. I believe that we can make the Glific dashboard even more powerful and user-friendly. I am excited to continue working on the project and make even more progress.