Page MenuHomePhabricator

GSoC 2022 - Modernize JavaScript build process and dependencies for Wiki Education Dashboard
Closed, ResolvedPublic

Description

Overview

Wiki Education Dashboard (the Rails app that powers Programs & Events Dashboard) is a complex web app for keeping track of contributions to Wikimedia projects. It's widely used by the global Wikimedia community for edit-a-thons, classroom wiki writing assignments, and a variety of other initiatives.

The goal of this project is to improve the system's JavaScript by updating dependencies, replacing unmaintained libraries, and generally trying to take advantage of recent improvements in the JS ecosystem.

Possible tasks include:

  • Upgrading to the latest version of Webpack (from version 4 to 5)
  • Removing the use of jquery so that it can be dropped as a dependency
  • Replacing the unmaintained react-motion library with a well-maintained alternative
  • Identifying deprecated or unmaintained dependencies and upgrading/replacing them
  • Analyzing the JavaScript dependencies to identify opportunities to reduce bundle size

Technology & skills

The Dashboard is primarily built with the React JavaScript framework (for the frontend), and Ruby on Rails (for the backend). It will require knowledge of JavaScript, and ideally some experience with Webpack and dependency management. Experience with Ruby is not required, although it may be helpful.

Mentor(s)

Getting started

To explore this project, you'll want to begin by setting up a development environment: https://github.com/WikiEducationFoundation/WikiEduDashboard/blob/master/docs/setup.md

Email sage @ wikiedu.org to request an invitation to the project's Slack, where you can ask questions and get help with setting up a dev environment.

You can also browse the 'newcomer friendly' issues for the Dashboard, which can make good first tasks: https://github.com/WikiEducationFoundation/WikiEduDashboard/issues?q=is%3Aissue+is%3Aopen+label%3A%22newcomer+friendly%22

Event Timeline

@Ragesoss Thank you adding the project! Would it be possible for you to add the details also here: https://www.mediawiki.org/wiki/Google_Summer_of_Code/2022#Ideas_for_projects?

Done!

Hi all! Our mentoring org application is under review. We are being asked by Google to provide additional information on projects - expected size of the project: 175 or 350 hours and difficulty rating: easy, medium, or hard. Based on my analysis, I have added two data points to each project on the GSoC 2022 page on MediaWiki.org. If you disagree with it, feel free to make additional changes.

Bikid475 subscribed.

would love to work on this project.

would love to work on this project.

Great! I've removed you as assignee, just so that it doesn't cause any confusion with others who are also interested in working on this project.

I would like to work on this project. I am currently working as a frontend developer in Bytelearn and I recently optimized their build process. I was able to reduce bundle size by 78% which increased their Lighthouse reports score from 65 to 89 in phase 1 optimization.
I have sent the mail to sage@wikiedu.org requesting to join the slack channel.
I hope we will connect as soon as possible, so we can discuss the project and divide the process into phases. This will help your organization to analyze the benefits of the future steps and will help me to create a strong proposal ;).

Are there any discussion forums except the slack channel where discussion on this project is going on?

Hi, @Ragesoss ,I am 2nd year CSE student at the IIIT, Sonepat.
I am into web development, skilled in HTML, CSS, JavaScript, and also familiar with Frameworks like Reactjs and other languages like python. I am a beginner in open source contribution and want to explore and learn from the journey ahead.
GOING through WIKIMEDIA's GSOC ideas found myself eligible for this project according to the skillset required.

Hi @AmeyGupta! Send me an email if you'd like to join the project's Slack channel.

hi @Ragesoss ! I have send you the mail for joining the slack channel but I haven't received the reply so should I send the mail again?

hi @Ragesoss ! I have send you the mail for joining the slack channel but I haven't received the reply so should I send the mail again?

Yes, please send again. I didn't receive it, as far as I can tell.

HEY ,@Ragesoss

hi @Ragesoss ! I have send you the mail for joining the slack channel but I haven't received the reply so should I send the mail again?

Yes, please send again. I didn't receive it, as far as I can tell.

HEY , I have again send you mail at this email id ( sage @ wikiedu.org ) pls check it and send slack channel link on it.

Found it! Your messages had gotten filtered as spam. I've sent you a Slack invite.

Hii @Ragesoss
I am a 3rd-year electronics and computer science engineering student at NIT Calicut, India. I am a beginner in open source contribution and want to explore and learn more from open source projects. going through Wikimedia's GSoC ideas I found myself eligible for this project according to the skill required for this project.
I am skilled in programming languages javaScript, NodeJs, and C++ and familiar with the frontend framework React and currently learning webpack and dependency management.

For project decisions and to know more details I would like to join the project slack channel. I have sent you mail as regrading this.

thanks

To mentors monitoring this task - could you ensure all relevant project updates get added to https://www.mediawiki.org/wiki/Google_Summer_of_Code/Past_projects? If there isn't anything remaining to be resolved, please close this Phabricator task and move any pending items to a separate task. TY!