Linux Foundation Mentorship 2021

Rajiv Ranjan Singh

Rajiv Ranjan Singh / December 29, 2021

5 min read––– views

LFX-2021-1

LFX-2021-2

Introduction

This is the project report blog for Cloud native measurement, reporting and validation of carbon emissions which was completed during Linux Foundation Mentorship Fall Term 2021. The status of the project can be regarded as complete due to the fact that all pull requests have been merged and all the initial premises of the project have been fulfilled.

https://github.com/iamrajiv/LFX-2021 repository contains details about my work in Linux Foundation Mentorship Fall Term 2021.

Work Summary

Prior Work:

  • #16: Added installation guidelines in README on how to set up and run FLINT UI locally.
  • #32: Added Storybook support to manage components, stories, and documentation.
  • #66: Integrated and deployed Storybook on Chromatic.

Week 1 (September 3 - September 9, 2021)

  • Weekly meeting schedule agreed.
  • Getting familiar with FLINT UI codebase.
  • Making Design doc for FLINT UI.

Week 2 (September 10 - September 16, 2021)

  • #70: Fixed Irregular card size in FLINT UI dashboard.
  • #72: Migrated FLINT UI to Yarn package manager.
  • #74: Fixed output simulation table value bug by updating it to read-only mode.
  • moja-global/FLINT.Example#25: Added GitHub action pipeline to build and publish Flint.Example Docker image to GitHub container registry.

Week 3 (September 17 - September 23, 2021)

  • #78: Improved toast notifications of Help, Point, RothC Specification, and Version by adding more meaningful messages.

  • #80: Added stories for the button, card, and footer component in Storybook.

Week 4 (September 24 - September 30, 2021)

  • #87: Ignored irrelevant paths from Chromatic Action so now it will be triggered only when there is a file change in flint.ui/.storybook/**, and flint.ui/src/stories/**. Also, added Dependabot to update Flint.Cloud submodule means Dependabot will make a PR automatically whenever new changes are pushed to Flint.Cloud repository. This will help the submodule in FLINT UI to be consistent with the main Flint.Cloud repository.

Week 5 (October 1 - October 7, 2021)

  • #91: Truncated Point and RothC output up to five significant figures using toPrecision() method.

Week 6 (October 8 - October 14, 2021)

  • #92: Added Continuous Integration for FLINT UI like installing dependencies, linting the code, building the Vue app, and building the Storybook whenever there is PR or Push to the master branch of the repository.

Week 7 (October 15 - October 21, 2021)

  • #96: Formatted step date column from ISO 8601 date to YYYY-MM-DD form. JavaScript supports ISO 8601 date format by default i.e. YYYY-MM-DDTHH:mm:ss.sssZ but when we are running a simulation for hundreds of years then hours, minutes, and seconds don't matter very much so we only care about the date.

Week 8 (October 22 - October 28, 2021)

  • #102: Added vue-tour support for FLINT UI . Vue Tour is a lightweight, simple, and customizable guided tour plugin for use with Vue.js. It provides a quick and easy way to guide your users through your application.

Week 9 (October 29 - November 4, 2021)

Week 10 (November 5 - November 11, 2021)

  • #136: Added Alerts, Divider, Progress, andPopupConfirm component and stories in FLINT UI.

Week 11 (November 12 - November 18, 2021)

Week 12 (November 19 - November 25, 2021)

Learnings

I am very glad that I had the opportunity to take part in the Linux Foundation Mentorship program. Participating in this program has helped me to:

  • Got involved with an amazing moja global community.
  • Got to know about The Full Lands Integration Tool (FLINT).
  • Learned about Design System, Sphinx, Storybook, Terraform, Vue.
  • Got a deeper understanding of Docker, GitHub Actions, Google Cloud Platform, JavaScript, REST API, Python.

Acknowledgments

I am deeply grateful to my mentors Andrew O'Reilly-Nugent and Gopinath Balakrishnan. I would also express my gratitude towards Arnav Tiwari, Harsh Bardhan Mishra, Mohammad Warid, Shloka Gupta and Shubham Karande. Mentors guided me patiently through the project and were always ready to help, review work in progress, gave feedback regarding the overall shape of the project and the feasibility of certain solutions, and maintained a very friendly, supportive, and stimulating atmosphere on the team. They devoted a lot of time to this project and led the video meetings in a well-organized, yet non-stressful manner. Their support and positivity helped me through this project and made me enjoy every bit of it. The project could not be completed without the generous feedback and help from the team. Last but not least, I would like to thank The Linux Foundation for this initiative.