Purpose
This proposal describes how I will accomplish my Internship at Wikimedia by contributing to WikiEduDashboard.
End Goal
To have added various new features to the Dashboard and increase the overall scope of the project.
Profile Information
Name: Sejal Khatri
Email: sejal.khatri5@gmail.com
IRC Nick: sejal
Mediawiki User: Sek2016
Web Page: http://sejalkhatri.github.io/
Blog: https://medium.com/@sejal.khatri5
Location: India
Time Zone: UTC+5:30
Typical working hours: [12PM to 7PM] and [10PM to 2AM](Indian Standard Time)
Synopsis
The Dashboard code runs 2 main projects
- The Wiki Education Foundation Dashboard : The use case(scope) for this project is limited to higher education programs in United States and Canada.
- Wikimedia Programs & Events Dashboard : For global Wikimedia community to organize all kinds of programs, including edit-a-thons, education programs, and other events.
The use case for the Programs & Events Dashboard project is wide and there are many enhancements to be made to increase the user experience, I'll be working on issues related to this and the overall user testing.
Possible mentors
Sage Ross (@Ragesoss )
Jonathan Morgan (@Capt_Swing)
Deliverables
These are the various issues that I found interesting to solve and planning to take them, new issues will be added and solved with time.
Issue1: Delete button on course should be visible but disabled if user can delete but course is active
Issue2: Campaign page should have a way to see the list of articles edited
Issue3: Campaigns index page needs to be redesigned to be useful for admins
Issue4: My Articles buttons should have info mouseovers to explain Assign and Review
Issue5: CoursesUsers should store a copy of user full name, and use that to show instructors
Issue6: Replace all javascript confirm and alert instances with Confirm and Notification components
Issue7: For edit-a-thons (at least), dashboard should give user info about when to expect updated stats
Issue8: On dashboard view, list of archived courses should be sortable
Issue9: Overview should show students information about their own work
Issue9 will be divided into these sub tasks:
- Add an 'assign myself an article' button (just like from the Students tab) in the Actions component on the overview.
- Show the student whether they have completed training, and provide a link if they have not.
- Show the student which articles they are assigned to work on and/or review, and provide links to add/change these articles
- Show the student how much they have contributed, and how many views their work has had.
- Links to key resources, including the basic brochures as well as subject-specific guides that are relevant to their course (based on course tags)
- Work on additional features mentioned in the
Distribution
I have few ideas about how to solve them, So the stages for solving each issue will be:
- Getting a clear idea of what the output needs to be.
- Implementation
- Add tests and get reviews
- User testing
I'll distributing them in the time line after having a discussion with the mentor.
Timeline
Date | Task |
April 3 | Application deadline |
April 4 - May 30 | Continue contributing to the project. |
May 31 - June 25 | Have a planned sprint and select the issues to be completed. Resolve an issue and add tests for the proposed changes, get reviews, fix and repeat. |
June 26 | Phase 1 Evaluation |
June 30 | Phase 1 deadline |
July 1 - July 23 | Have a planned sprint and select the issues to be completed. Resolve an issue and add tests for the proposed changes, get reviews, fix and repeat. |
July 24 | Phase 2 Evaluation |
July 28 | Phase 2 deadline |
July 29 - Aug 20 | Have a planned sprint and select the issues to be completed. Resolve an issue and add tests for the proposed changes, get the reviews, fix and repeat. |
Aug 21 | Final Review.. Have a final rap up by getting an overall performance review by my mentor, publishing a blog summing up my overall experience of working with Sage and Wikimedia. |
Participation
I plan to communicate my work progress mainly through Slack channels and IRC in #wikimedia-ed.
I'll be updating my wiki user page on weekly basis with the progress report.
For version control, I use git. I plan to publish source code on GitHub and get feedback on the same, I understand how contribution and review works with Wiki Edu Dashboard project because of my internship experience. I'll be maintaining my internship blog on Medium and will update it as I advance with the tasks.
About me
I am a Final year undergraduate student of computer science at Pune Institute of Computer Technology.
My major interest is in Web languages(HTML, CSS, JavaScript), Web framework-Ruby on rails and python language and developing UI designs where I have done maximum work. Apart from building applications, I enjoy playing sports and currently I am learning Karate.
I enjoy learning stuff by implementing them and collaborating with other contributors. My experience working on this project and the overall theme of this project drives me to contribute more and be a part of the change it is making :)
Making this project happen means a lot to me because of the learning experience and the after completion user satisfaction look is something I enjoy the most.
I don't have any other time commitments during the program duration as my final examination ends on 27 May.
Past experience
My open source experience began in my second year of engineering, with dual booting my laptop and installing Linux. I was selected as an Outreachy'16 Wikimedia intern (Dec 6 - March 6) for the Wiki Education Dashboard project managed by Wiki Education Foundation. Wiki Ed Dashboard is a platform for helping people get started with editing Articles on Wikipedia and helping professors run assignments where their students edit Wikipedia. I worked on adding customizable user profile pages to the dashboard, which provides info about all the courses user has enrolled in and overall user statistics in those courses encouraging them to contribute more. The technologies that I used during my internship period were ReactJS, Vega, Rails and testing frameworks like Mocha and RSpec.
Link to the one of the profile pages
I have had blogging experience, as I used to frequently blog about my internship with Wikimedia.
Link to some of the major contributions made:
https://github.com/WikiEducationFoundation/WikiEduDashboard/pull/1221
https://github.com/WikiEducationFoundation/WikiEduDashboard/commit/a9246cb17717436eb5278054cb168c13e818625e
https://github.com/WikiEducationFoundation/WikiEduDashboard/commit/298037f011c2c1a96db917b1ebb5385b3a9e5be8
https://github.com/WikiEducationFoundation/WikiEduDashboard/commit/9ac397b282010a23261b954516326ce92dfc616f
Other Projects:
Web developer, work taken as a freelancer
Link to the designs made in the first phase: https://github.com/sejalkhatri/Design/tree/master/SMA
I learned how to set up a website using the hosting platform Hostinger and also the domain setup(Dot TK). Vital part was taking client reviews and building on them, Iterative Model was followed for Development. I learned how to consider details of what is required and then summing it up to what can be done, also made the website responsive using CSS Media Queries. The project helped me develop better understanding of web technologies like jQuery(used for sliding windows), Bootstrap(image gallery).
Website Link: http://www.smaacademy.tk/
Front end developer in College Project, AutoTransliterator-PyGtk framework used
This is a desktop application(text editor) used for converting English script to Devanagari Script. It uses machine learning concepts by suggesting a script to the user by considering his previous preferences. PyGtk is used for creating User Interface and communicating with back end python scripting. XML is used to store the word frequencies and JSON format is used for ASCII mapping of letters.
I learnt PyGtk framework and underlying GTK+ library which provides all kind of visual elements and utilities for it. The documentation was done following Software Engineering documentation format, user manual is deployed with the package.
Project Link: https://github.com/sejalkhatri/autoTransliterate, u can download it and start using.
Developed website for college technical event INC'15
Impetus and Concepts is a technical event organized by PICT. The website was developed by INC Web Development Team, I learnt how to collaborate and work in sync with other people. I worked on web languages-HTML, CSS, JavaScript and Bootstrap Framework, learnt the importance of final testing before deploying.
The website gets updated every year, So you will not be able to see my work
Designed UI for Clash'14 - C/CPP coding contest
Link to the designs made: https://github.com/sejalkhatri/Design/tree/master/CLASH
Qt Creator IDE was used for development, I worked as a front end developer. The Theme was Time Evolution, so if the code was correct than the contestant was shown heading towards future, otherwise past. The UI was developed keeping in mind the Theme and it got great reviews(1000+ contestants)
This was my first technical project as a front end developer and I learnt how to work with Qt Creator.
We send email using email function in Google Cloud Platform
Recently i have developed a Matrimony Website on Google Cloud Platform, but after uploading site i see that PHP Mailer function does not send mail.
The same code in the localhost runs perfectly, with same SMTP credentials.
Is there need to change my code?