Page MenuHomePhabricator

Proposal - Improve Programs & Events Dashboard UX for Article Scoped Programs
Closed, DeclinedPublic

Description

Profile Information

Name : C Nikhil Karthik
GitHub : https://github.com/C-NikhilKarthik
LinkedIn : https://www.linkedin.com/in/nikhil-karthik-800413233/
Location (country or state) : India
Typical working hours (include your timezone) : 4 pm to 2 am ( GMT + 5:30 )

Synopsis

  • A tool created by Wikimedia to aid in the management and organising of events and programmes associated with editing Wikipedia and other Wikimedia projects is the Programs & Events Dashboard. The "Improve Programs & Events Dashboard UX for Article Scoped Programs" project aims to enhance the Dashboard's user experience (UX) for applications that are concerned with modifying certain articles.
  • Migration from Server Side Rendering to Client Side Rendering (Client Side Rendering)
    • This can be achieved by switching from react files, which are.jsx files, to the.html.haml ones. As comparison to SSR, CSR offers a number of benefits, such as quicker page loads, improved user experience, improved SEO, simpler development and maintenance, and more flexibility in terms of technological options.
  • Improving the UI of some pages
    • I'm presently revamping the /usage page and moving it over to React. An important factor influencing user engagement, retention, and conversion rates is a website's user interface (UI). By making it simpler for people to browse a website, locate what they're looking for, and take the appropriate actions, a smart UI design can enhance the user experience.
  • Creating a few scripts for populating various Courses, Articles
    • This can enhance not only the code testing for the CSR or SSR but also aid the contributors in gathering samples of data of varied sizes and creating/updating new capabilities.Contributors can better understand how the code behaves in various circumstances and see potential problems or places for improvement by using real-world data samples and scenarios to test the code.
  • Possible Mentor(s) : @Ragesoss
  • Have you contacted your mentors already? Yes, I have contacted the mentors through slack.

Deliverables

Mid-Term evaluation
  • Do necessary user research for the interface/functionality
  • Build UI prototypes
  • Work on Migrating queries from jbuilder files to controller.rb
  • Write tests for the new interface
Final Evaluation
  • Migrate from SSR to CSR
  • Write scripts for populating the courses, articles etc with values to set values
  • Write tests for the above features
  • Complete Documentation of all the above features mentioned

Timeline

Community bonding period

The major objective for this time period will be to communicate with my mentor in order to become more familiar with the code base as a whole. The real React 18 upgrade will be the biggest obstacle I can get beyond during this time. Considering a sizable section of the code base will probably be impacted by this change. It will be crucial to discuss the upgrading with my mentor and identify any potential problems.

May 29 - June 12

Create the appropriate wireframes for the project.
Creating wire frames for a project greatly enhances the performance of the contributor because they may use the wire frames as a guide for how to set up and start coding. These wireframes can be changed later or used as references in the meantime.

June 13 - June 20

using the codebase's predefined styles, begin transforming the recommended wireframes into pages. Be sure to document all the modifications you make.

June 21 - June 28

Start working on migrating the queries from their corresponding controller.rb files to the *.json.builder file. This is important because placing these queries in the controller file might make it simple to retrieve them from different files.

June 29 - July 5

Complete the wireframe implementation and query migration.
Begin the testing phase to look for defects and problems. It must be done to complete the documentation of every change made.

July 6 - July 14 (Midterm evaluation deadline)

Use the midterm evaluation's feedback to improve the situation.
The feedback period is one of the most important times of the project since it enables us to identify problems, bugs, and other things that should be added to or eliminated from the project.

July 15 - July 28

Work on the input received from mentor and group members.
Working with the material offered by other contributors or mentors is essential to the project's success because it aids in understanding the work from others' points of view.

July 29 - August 4

Work on switching from *.html.haml (SSR) to *.jsx files for React (CSR)

August 5 - August 18

Creating scripts for populating the database with necessary data for testing.In addition, gathering data samples and creating/updating new capabilities can help to enhance the overall quality of the codebase. This can include improving the user experience, adding new features, and optimizing the code for better performance.

August 19 - August 25

Start documentation of all the completed tasks
Keeping track of all the progress made requires documenting all the features added and problems resolved. This can aid in keeping track of all issues that arose and how they were resolved during the project's lifetime.
Take final feedback and work on fixing them

August 26 - September 4 (Final evaluation deadline)

Work on maintaining the codebase
It is essential to maintain the code after the project is complete because new features may be added that make the code simpler and easier to write, and existing features may be dropped or supported.

Participation

I regularly use email and Slack. For code reviews and associated discussions, I'll use GitHub. I intend to meet with my mentor on a regular basis to discuss my progress and receive input on the work completed thus far.===About Me

Education
  • I am a sophomore studying computer science and engineering at the Indian Institute of Information Technology (IIIT) in Dharwad ( CSE ). I'm currently in my second year of the esteemed Institute's four-year program.
How did you hear about this program?
  • I'm new to open source programming, so a senior student suggested that I attempt making an open source contribution as part of GSoC in order to advance my abilities and knowledge.
Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?
  • My current semester ends in the 3rd week of May. I do not have any other commitments currently during the project duration.
We advise all candidates eligible for Google Summer of Code and Outreachy to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?
  • I only plan on applying to Google Summer of Code with Wikimedia Foundation.
What does making this project happen mean to you?
  • The opportunity to take part in an important and beneficial effort that promotes open access, open culture, and open information.

the chance to work with a passionate and committed group of developers and contributors from around the world who share an interest in advancing open access and open culture; and finally, the chance to have a significant impact on the field of open access while influencing the future of digital content creation and sharing.

Past Experience

  • I've been focusing on a few problems that were raised in the WikiMedia Dashboard's Repository.
  • I am extremely new to contributing to open-source projects; I have learned a lot of new things, including Ruby, Ruby on Rails, organisational structure, etc.
  • With the MERN stack, TailwindCSS, and other tools, I have created numerous projects. For GSoC, I am also collaborating with Creative Commons.

WikiMedia Contributions

LinksDescription
https://github.com/WikiEducationFoundation/WikiEduDashboard/pull/5313I'm still working on this PR, incorporating the mentor's suggestions and enhancing the reviews that were given.

Any Other Info

Projects worked/working on :

ProjectLinksDescription
Content Management SystemAlthough the website is hosted on render and vercel, the github repository is currently set to private. Many further functions that will be included in the software are currently under development.
College and Organization Managementhttps://github.com/C-NikhilKarthik/College-Organization-ManagementThe entire website is still being developed utilizing the MERN stack with TailwindCSS.
Outpass and Complaints Management Systemhttps://github.com/C-NikhilKarthik/Outpass-and-ComplaintsDue to the project's use of mysql, nodejs, HTML, CSS, and JavaScript, we are currently unable to put it on a website.

Event Timeline

I think this proposal is not sufficiently focused on the main objective of improving the user experience for users who are setting up a course/event for which they want to track only a specific set of pages. I don't think React upgrades or converting between HAML and JSX are very relevant to this UX, because the current workflow for setting up a course is all in React already. Refactoring to move queries from templates to controllers is also not very relevant; that's a code quality issue that could be done at any time, and should not affect the user experience.

Hi @Nikhil_Karthik, As the deadline for GSoC is quickly approaching in less than 48 hours (April 4th, 2023, 18:00 UTC), please make sure that your proposal on Phabricator is complete and has been submitted on Google's program website in the recommended format. Once you have done so, kindly move your proposal from the "Proposals in Progress" column to the "Proposals Submitted" column on the Phabricator workboard by simply dragging it. If you have any inquiries, please do not hesitate to ask.

Hi! GSoC application deadline has passed. If you have submitted this proposal on the GSoC program website and would like your proposal to be considered for review, please move it from the "Proposals in Progress" to the "Proposals Submitted" column by clicking and dragging it on the workboard:
https://phabricator.wikimedia.org/project/view/6344/. TY!

@Nikhil_Karthik We are sorry to say that we could not allocate a slot for you this time. Please do not consider the rejection to be an assessment of your proposal. We received over 100 quality applications, and we could only accept 9 applicants. We were not able to give all applicants a slot that would have deserved one, and these were some very tough decisions to make. Please know that you are still a valued member of our community and we by no means want to exclude you. Many applicants who we did not accept in previous rounds have become Wikimedia maintainers, contractors and even GSoC students and mentors this year!

Your ideas and contributions to our projects are still welcome! As a next step, you could consider finishing up any pending pull requests or inform us that someone has to take them over. Here is the recommended place for you to get started as a newcomer: https://www.mediawiki.org/wiki/New_Developers.

If you would still be eligible for GSoC next year, we look forward to your participation!