Skip to content

Instantly share code, notes, and snippets.

@shrish-shete20
Last active August 25, 2023 10:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shrish-shete20/d96c878b38d330f5995c2583b225a4a5 to your computer and use it in GitHub Desktop.
Save shrish-shete20/d96c878b38d330f5995c2583b225a4a5 to your computer and use it in GitHub Desktop.
GSOC Final Evalution

GSOC Final Evalution

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.

Project

  • 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.

Pages

  • Weblate Leaderboard
  • Languages
  • Libraries
  • Translation
  • Information
  • Link to Github Dashboard

Brief Week-Wise Report :

  • Week 1 :

    • 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.
  • Week 2 :

    • 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.
  • Week 3 :

  • Week 4 :

    • 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.
  • Week 5 :

    • 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.
  • Week 6 :

    • 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.
  • Week 7 :

    • Learned about themed dashboards using the bslib package.
    • Created and Designed the wireframe of the Dashboard.
  • Week 8 :

    • 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.
  • Week 9 :

    • Created a Languages page on their Dashboard with 4 interactive plots and a data table to show language popularity, translation status, and volunteer contribution.
  • Week 10 :

    • Created a Library page on their Dashboard with 3 plots to display and compare the translation status of libraries and components.
  • Week 11 :

    • Created a Translations page on their Dashboard with 2 data tables and 1 plot to display the translation status and growth.
  • Week 12 :

    • Created Information Page and troubleshooted various errors and development.

Links :

Personal Experience :

  • 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment