Profile Information
Name: Jatinder Mahajan
Github
Gitlab
gerrit
Resume: https://jatinderg683.hackerresume.io/a0490a93-bab5-4093-869b-3791bef6c59d
Location: Punjab, India
Typical working hours: 1:00 pm to 4:00 am UTC+05:30
Synopsis
The "Improve InlineComments extension" project aims to enhance the existing InlineComments extension for MediaWiki, introducing features that are commonplace in popular content-management systems like Google Docs and Confluence. The planned improvements include the addition of user mentions for streamlined communication, making the sidebar creation more skin-neutral for consistency across different skins, and ensuring correct display of usernames and posting timestamps. This project not only improves the user experience within MediaWiki but also aligns with modern standards for collaborative content annotation.
How it Benefits Wikimedia Projects:
The improved InlineComments extension will provide Wikimedia projects with a more versatile and user-friendly tool for annotating content. The addition of user mentions enhances communication among contributors, fostering collaboration. Making the sidebar skin-neutral ensures a consistent appearance across various skins, contributing to a more unified and professional user interface. Accurate display of usernames and timestamps enhances the reliability of information, making discussions and annotations more transparent and reliable. Overall, these enhancements will positively impact the collaborative nature of Wikimedia projects.
Mentors: @Yaron_Koren @Bawolff @Bawolff-alt
Have you contacted your mentors already?
Yes, I have initiated communication with both mentors, @Yaron_Koren and @Bawolff. I have successfully completed and fixed some microtasks in collaboration with the mentors.
Deliverables
Community Bonding Period (May 1 - May 26)
Activities:
- Engage with the InlineComments community for insights.
- Investigate existing user mentions systems in similar platforms.
- Establish communication channels with mentors and contributors.
Coding Phase
Week 1-2 (May 27 - June 9): Research and Initial Setup
Activities:
Investigation:
- In-depth research on "@"-style user mentions functionality.
- Analyze user mentions implementation in other platforms.
Coding:
- Set up the development environment for InlineComments.
- Initial code exploration and planning for user mentions.
Week 3-4 (June 10 - June 23): Implement "@"-Style User Mentions (T355942)
Activities:
Coding:
- Integrate autocompletion for usernames using JavaScript.
- Implement highlighting of selected mentions.
- Integrate notifications for user mentions.
Testing:
- Conduct initial testing of "@"-style user mentions in different scenarios.
Documentation:
- Document the implementation details and usage guidelines.
Week 5-6 (June 24 - July 7): Make Sidebar Creation Skin-Neutral (T355948)
Activities:
Investigation:
- Examine existing CSS files for different skins in InlineComments.
Coding:
- Implement JavaScript and/or CSS for smart application of settings.
Testing:
- Test skin-neutral sidebar across various skins.
Documentation:
- Update documentation with information on skin-neutral sidebar creation.
Week 7-8 (July 8 - July 21): Display Username and Date/Time Correctly (T355943)
Activities:
Investigation:
- Explore API action within InlineComments for date and time preferences.
Coding:
- Integrate the API action with JavaScript for correct datetime display.
Testing:
- Conduct thorough testing to ensure accurate display.
Documentation:
- Update documentation with details on username and date/time display.
Midterm Evaluation Period (July 8 - July 12)
Activities:
- Submit midterm evaluation and gather feedback.
Week 9-12 (July 22 - August 19): Additional Improvements and Testing
Activities:
Coding:
- Address any remaining issues or potential improvements.
- Optimize code for performance.
Testing:
- Conduct extensive testing, including unit tests and end-to-end tests.
Documentation:
- Enhance and finalize documentation for InlineComments.
Final Evaluation Period (August 19 - August 26)
Activities:
Coding:
- Finalize code and address any last-minute issues.
Testing:
- Conduct final testing of the entire InlineComments extension.
Documentation:
- Ensure all documentation is up-to-date and comprehensive.
Post-GSoC (August 26 onwards)
Activities:
Coding:
- Address any post-evaluation feedback and bug fixes.
Testing:
- Continue testing and validation of the implemented features.
Final Submissions and Results (September 3)
Activities:
- Await and acknowledge the initial results of Google Summer of Code 2024.
Extended Coding Period (September 3 - November 4)
Activities:
Coding:
- Continue contributing to InlineComments if needed.
Testing:
- Ensure ongoing testing and quality assurance.
Final Submissions and Results (November 4)
Activities:
Coding:
- Finalize any remaining contributions.
Testing:
- Confirm the stability and functionality of the InlineComments extension.
Participation
Communication Plan:
I plan to maintain open and transparent communication throughout the project. Weekly progress updates will be shared with mentors and the community through email and weekly meetings. Any challenges or roadblocks will be promptly communicated to seek guidance.
Source Code Repository:
The source code will be regularly pushed to a dedicated Gerrit or GitHub repository under my account. This will facilitate version control, collaboration, and transparency. Each commit will be accompanied by meaningful commit messages, and major updates will be communicated to mentors and the community.
Seeking Help:
When facing challenges, I will utilize community channels, including mailing lists and forums, to seek help. Additionally, I will actively participate in the weekly meetings with mentors to discuss progress and address any issues. Prompt and clear communication will be maintained to ensure a collaborative and supportive development environment.
This detailed plan outlines the project's goals, benefits, mentorship structure, and a comprehensive timeline for task completion. It reflects a thoughtful approach to contributing to the InlineComments in wikimedia extension during the Google Summer of Code program.
About Me
Education
I have graduated in Computer Science from Sardar Beant Singh State University (SBSSU) with a degree completion date in January 2023
How did you hear about this program?
I discovered GSoC through online research. While exploring opportunities on the internet, I came across GSoC, and its reputation as an excellent platform for enhancing professional skills caught my attention.
Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?
No, I do not have any other time commitments, such as school work, another job, planned vacation, etc., during the duration of the program.
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)?
Yes, I am eligible for both the programs, but have only applied to GSoC.
What does making this project happen mean to you?
Realizing this project means merging my passion and expertise to make a meaningful impact. It's not just a technical endeavor but a commitment to innovation and positive contributions, bringing both professional fulfillment and personal pride.
Past Experience
I am skilled in a range of programming languages, including Blockchain, TypeScript, Java, PHP, and more. My expertise extends to frameworks like Symfony, React.js, and Express.js, along with proficiency in tools such as Docker, AWS, and Git. With a strong background in databases like MySQL, MongoDB, and Redis, I've successfully applied these skills in real-world projects, showcasing my commitment to staying updated in the rapidly evolving field of technology.
Please add links to any feature or bug fix you have written for a Wikimedia project during the application phase.
T358694: Change word "Link" to domain name in Page Exchange URL display
T354624: Modified and Reproduce legacy layout for the Review step
fixes the local setup issue for the project's development.
Added Husky to set up pre-commit hook
Added Dark Mode to the Lingua Libre v3
Describe any relevant projects that you've worked on previously and what knowledge you gained from working on them.
- Sports Gear Swag: In my role as a Full-Stack Developer at GeekyBones Lab, I led the development of "Sports Gear Swag," an online platform for personalized athletic apparel using React.js and Symfony. Overcoming challenges in implementing extensive customization options, I gained hands-on experience in React.js and Symfony. The successful launch highlighted my ability to balance customization with user-friendliness.
- Prioticket: As a Full-Stack Developer at GeekyBones Lab, I contributed to the global ticketing platform, "Prioticket," utilizing Laravel and Node.js. My role included enhancing technical capabilities and launching 'Priopass' for streamlined traveler access. This project deepened my backend expertise, honed project management skills, and provided insights into international business operations and partnerships in the travel industry.
Describe any open source projects you have contributed to as a user and contributor (include links).
Yes I did to many, please refer to my github profile some of them are listed as :
- [https://github.com/ushahidi/platform/issues/4753#issuecomment-1981621223]:
- This contribution involves familiarizing myself with the technical documentation relevant to the WhatsApp integration project for Ushahidi, as well as reviewing Ushahidi's technical documentation and exploring the WhatsApp Business API documentation. Additionally, feedback on proposed libraries/frameworks and considerations for UX, security, and testing were provided.
- [https://github.com/ushahidi/platform-client-mzima/pull/815]:
- This PR fixes and added the prop for the handling the cases :
- 1. That if there no posts in the specific survey - then user should see - "survey_has_no_posts": "There are no posts in this survey!",
- 2. There is no survey selected - then user should see - "no_posts_yet": "Select a survey to show posts!",
- [https://github.com/ushahidi/platform/issues/4848#issuecomment-2006645908]:
- This Cypress test case is designed to ensure the functionality of sending a WhatsApp message via the Infobip API. The test involves making a POST request to the Infobip API endpoint with a predefined payload containing message details. After sending the request, the test verifies that the response status code is 200 and checks for expected properties in the response body, such as the presence of messages and their status. The test aims to validate the reliability and correctness of the WhatsApp message sending feature integrated with the Infobip API.
- https://medium.com/p/d98b23fb7de5/edit
- This task involves creating a compelling blog post about my reflections about the Outreachy-WhatsApp project. The goal is to share our findings, and propose areas for further exploration.
Any Other Info
Sports Gear Swag
Prioticket
Hacktoberfest 2023: I achieved a remarkable feat by winning the Hacktoberfest 2023 competition among over 50,000 participants. As a part of this accomplishment, a tree was planted in my name, underlining my commitment to sustainability. Additionally, I received a coveted Swag kit as recognition for my contributions and dedication to open-source projects.
HackerRank Badges: I have earned several prestigious badges on HackerRank, including the "30 Days of Code Badge" and the "10 Days of JS Badge," showcasing my prociency and dedication in coding and JavaScript challenges. These badges reect my commitment to continuous learning and problem-solving in the realm of programming.
