Student - Shrish Shete
Mentors - Ben Ubah,Gabriel Becker
Project - Track R Translation Status
Organization - R Project For Statistical Computing
Github - Weblate Dashboard Github
Dashboard - Dashboard
It is an opportunity to present the results of our projects, receive feedback from mentors and the open-source community, and celebrate the impact of our contributions. In this report, I will share my personal experience as a GSoC contributor, highlighting my achievements, challenges, and learnings throughout the program. I hope that my story will provide valuable insights into the GSoC experience from a contributor’s perspective and inspire future students to participate in this exciting initiative.
- The goal of this R project is to develop a dashboard that provides a clear overview of the current status of language translations in the R community. The dashboard includes features such as a summary of contributions made by individuals, a comprehensive summary of the overall translation status, and Weblate leaderboards. Additional features such as notification system is also included. The project aims to establish a robust framework for monitoring the translation status of R and recognizing the contributions of regional volunteers.
- Weblate Leaderboard
- Languages
- Libraries
- Translation
- Information
- Link to Github Dashboard
-
- Learned about Tortoise SVN and Visual SVN server to extract data from the R repository and store it in a database.
- Learned more about GitHub Actions for continuous integration.
-
- Experimented with workflows on a dummy repository , and tried applying GitHub Pages as an environment and deploying static HTML using GitHub Workflows.
- Learned more about yaml files and JS to create workflow files in Repository.
-
- Added a GitHub Action workflow to two repositories "https://github.com/r-devel/translations" and "https://github.com/shrish-shete20/rcontribution-messages"
- Learned about the docker environment, cache management, and artifacts, and made changes to the code to re-render the dashboard using GitHub Actions.
-
- Updated the workflow and created a Pull Request "r-devel/translations#20" and "r-devel/rcwg#42"
- Created a new repository and used the Weblate API to add language and user statistics, creating csv files for each.
-
- Added Library Language Statistics folder to the repository, which contain R code for generating statistics about each language in each library.
- Added Recent Changes folders to the repository, and created csv files for new translations and marked for edit translations.
-
- Added a GitHub Action workflow file to several folders in the repository.
- Created a Slack folder that contains R code for sending messages and csv files to Slack channels using the slackr package. They also created a new app called “Translations with R” and integrated it with a Slack channel.
-
- Learned about themed dashboards using the bslib package.
- Created and Designed the wireframe of the Dashboard.
-
- Created a leaderboard dashboard using CSS, JavaScript, and the reactable library.
- Added a gauge component to show the urgency for users to be active and value boxes to give an overview of the number of active, inactive, and unstarted users.
- Created plots showing the top 10 people doing translations and the number of translations they did.
-
- Created a Languages page on their Dashboard with 4 interactive plots and a data table to show language popularity, translation status, and volunteer contribution.
-
- Created a Library page on their Dashboard with 3 plots to display and compare the translation status of libraries and components.
-
- Created a Translations page on their Dashboard with 2 data tables and 1 plot to display the translation status and growth.
-
- Created Information Page and troubleshooted various errors and development.
- GSOC Proposal - Proposal
- Existing Dashboard -Dashboard
- Weblate Dashboard- Dashboard
- Weblate Github -Github
- Translations Github -Github
- My Github - Github
- Initially, I was intimidated by the large code base and unfamiliar tools such as R-svn and Tortoise SVN. However, after discovering a clone of the project on GitHub and receiving guidance from my mentor, I was able to shift my focus to learning about GitHub Actions workflows. Although the resources provided by my mentor were helpful, I found that I needed to supplement my learning with additional research on YouTube. After two weeks of studying, I was able to successfully add a GitHub Actions workflow file to the project’s dashboard. As I continued to learn more about the dashboard, I realized that extracting data from GitHub was not necessary for my task. Instead, I shifted my focus to Weblate and, through careful study of various dashboards and extensive reading of documentation, I was able to complete the dashboard.
- Key Findings that I think is :
- It is important to remain calm and focused when working with a large codebase. Remember that your contributions will likely be focused on a specific, smaller portion of the code. By breaking down the task into manageable pieces and focusing on one aspect at a time, the work can become much less overwhelming.
- When working with new technologies or tools, it can be helpful to search for examples on GitHub, as it is a vast repository of code and resources. This approach has proven useful for many individuals and may be beneficial for you as well.
- It is important to maintain regular communication with your mentor, as they may be able to provide valuable resources and guidance that can assist you in your work.