Page MenuHomePhabricator

Outreachy proposal for Statistical User Interface in WikiEduDashboard
Open, Needs TriagePublic

Description

Outreachy Link: https://outreachy.gnome.org/?q=view_projects&prg=7&p=1212
Description
This is Outreachy proposal to provide cumulative statistics for all programs a user has participated in.

Purpose
This proposal describes how I will accomplish my Internship at Wikimedia by contributing to WikiEduDashboard

End Goal
Creating customizable Profile page and providing brief overview to the users for all the contributions they have made to encourage them to do more.

Profile Information
Name: Sejal Khatri
Email: sejal.khatri5@gmail.com
IRC Nick: sejal
Mediawiki User: Sek2016
Resume: http://sejalkhatri.github.io/
Location: India
Time Zone: UTC+5:30
Typical working hours: [12PM to 7PM] and [10PM to 2AM](Indian Standard Time)

Synopsis

This project aims at enhancing the user interface of the dashboard, profile page for the user will be added which further can be customized by the user. As currently the dashboard only shows statistics for each individual's program, a view will be added for the user to see the totals from all their programs combined.
Planning to add visualization designs using Vega for displaying cumulative statistics.

Possible mentors

  1. Ragesoss
  2. Capt_Swing

Deliverables
Resolved User story: (Taken as a micro-task)
As a dashboard admin or curious user, I want to look up a user by their username and find their profile with all their courses.
The user can do this by extending the URL by adding /users/username to find user profile with all the courses.
LINK : https://dashboard.wikiedu.org/users/Ragesoss

The project can be divided into 6 phases:

  1. Getting designs approved by the mentors
  2. Studying the work flow of the organization and studying the technologies I don't have experience with.
  3. Working on implementing designs.
  4. Writing tests for the final commit.
  5. Documentation
  6. Making revisions based on user feedback.

If time permits, I'll work on making the user interface elements mobile friendly.

DateTask
October 17Application deadline
October 26 - November 14Getting the designs approved, putting up a detailed time line and start contributing
November 15 - December 5Community bonding, studying the work flow of the organization and studying the technologies I don't have experience with.
December 6 - December 20Getting the working prototype ready
December 21 – January 14Getting the reviews and improving on them.
January 15 – January 20Midterm Evaluation
January 21 – February 10Committing final code
February 11 - February 15Testing phase.
February 16 – March 1Documentation and making revisions based on user feedback.
March 2 – March 6Final evaluations

During this time line, if I manage to finish some tasks early, then I will proceed to implement as many [If time permits] tagged tasks as possible.

Initial Layouts
Change1
Link the UserName in the NavBar to the Profile Page.
Change2
Redirect the Instructor Link in the Course page Details section to respective profile page, currently it redirects to wikipedia user page.

Change3: Make Profile Page Customizable.
Current Page


Changes Proposed

Participation
I plan to communicate progress by discussing tasks and getting feedback on Phabricator, also I m active on IRC in #wikimedia-ed. I am also actively using Gmail for sharing work status and related documents(design) with my mentors.
For version control, I use git. I plan to publish source code on GitHub and get feedback on the same, I learnt how contribution and review works while submitting my first patch. I 'll also regularly write blog post as the project advances.

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.

I got to know about the Outreachy program while I was surfing the web to get details about GSoC. This year as I went through all the projects I came across this project and found it interesting to enhance user interface for WikiEduDashboard and experience working with open source developers and explore stuff in this field at WikiEducationFoundation. I learned a lot while contributing to the micro task and am still working on improving it. Therefore, I have decided to take it up. I am looking forward to working on this task and make data representations for getting a clear idea of progress made by users(instructors/user/students)

Past experience
My open source experience began with the use of Linux. I had tried contributing last year to Mifos Organization, that is when I understood how open source development works.
Recently I have started contributing to MediaWiki since I found the project that interests me and I was familiar with the concept.
I have contributed to WikiEduDashboard by resolving the issue https://github.com/WikiEducationFoundation/WikiEduDashboard/issues/930
which was listed as a microtask for the project I am interested in. In the process, I learned Ruby on rails and now understanding how vega.js works as planning to work on that for the project applied.

Link to the contributions made :
https://github.com/WikiEducationFoundation/WikiEduDashboard/pull/973
https://github.com/WikiEducationFoundation/WikiEduDashboard/pull/977
https://github.com/WikiEducationFoundation/WikiEduDashboard/pull/983
https://github.com/WikiEducationFoundation/WikiEduDashboard/pull/1011

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.
Website Link: http://pictinc.org/

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.

Will you have any other time commitments, such as school work, exams, research, another job, planned vacation, etc., between December 6, 2016, and March 6, 2017? Please provide exact dates for these commitments and the number of hours a week these commitments take.
I have my karate belt exam in December (26th and 27th) and also I have applied for Navy, so I am not sure if I'll get the call letter for Interview but if I do its gonna take max 4 days, in that period also I will continue working, and will continue full time as soon as they're over.

If a student, please list the courses you will be taking between December 6, 2016, and March 6, 2017, how many credits you will be taking, and how many credits a full-time student normally takes at your school. Please provide a link or upload your program's suggested curriculum by semester, which includes the suggested number of credits in each semester. Please provide a link or upload your school's academic calendar.
Until 15th Dec, I'll have my semester break and 15th Dec on wards Semester8 commences (Academic Calendar). Regular student takes 22 credits and I'll take 6 credits for the college project work which is Final year group project that goes on for entire year and submitted at the year end i.e.April. I'll get 10 or more credits for this wikimedia project internally, for that I'll have to submit internship offer letter to my class Coordinator , for others I just have to take the mid-term and final examinations (This happens in the case of Final year Students)
I'll have my mid-term exams sometime in February. Although the university hasn't declared the dates yet, these exams usually go on for a maximum of 5 days. Again I won't be as active, but I will continue working, and will continue full time as soon as they're over.

A final note:
I will be ready to work full time from the day Internship period begins (Dec 6th) for at least 40 hours a week throughout the week.

Event Timeline

Sek2016 created this task.Oct 8 2016, 7:16 PM
Sek2016 updated the task description. (Show Details)
Sek2016 updated the task description. (Show Details)Oct 10 2016, 7:40 AM
Sumit added a comment.Oct 10 2016, 7:51 AM

Hi Sejal, congrats for the initial draft and microtasks.

Please also answer these Outreachy specific questions taken from https://wiki.gnome.org/Outreachy#Application_Form

  • Will you have any other time commitments, such as school work, exams, research, another job, planned vacation, etc., between December 6, 2016 and March 6, 2017? Please provide exact dates for these commitments and the number of hours a week these commitments take.
  • If a student, please list the courses you will be taking between December 6, 2016 and March 6, 2017, how many credits you will be taking, and how many credits a full-time student normally takes at your school. Please provide a link or upload your program's suggested curriculum by semester, which includes the suggested number of credits in each semester. Please provide a link or upload your school's academic calendar.

Let me know if you need any help!

Sek2016 updated the task description. (Show Details)Oct 10 2016, 5:36 PM

Thank you! Sir for your acknowledgement.

Sek2016 updated the task description. (Show Details)Oct 10 2016, 6:09 PM
Sek2016 added a comment.EditedOct 11 2016, 8:35 PM

The instructor details can be displayed at /instructor/instructor_name or at /users/username(if instructor)

Query to get the aggregated data :
Steps :

  1. get the userid from the url
  2. Using that find out if at all he/she is an instructor in any of the courses, if not then redirect them to home page
  3. I can write a query in controller(create a join ) and use that join to get a table of courses where a user is instructor and then sum to it to display it on the view.

There are 2 Wireframes, Sir u can help me to select the appropriate one

Sek2016 updated the task description. (Show Details)Oct 12 2016, 8:01 AM
Sek2016 updated the task description. (Show Details)Oct 12 2016, 8:06 AM
Ragesoss updated the task description. (Show Details)Oct 12 2016, 4:34 PM
Sumit added a comment.Oct 13 2016, 5:46 AM

@Sek2016 as I see you're a student, you also need to mention the credit requirements and if there are any exams in the duration of the internship, in the final question.

This is a strict requirement from https://wiki.gnome.org/Outreachy#Eligibility

Hello @Sek2016,

Please make sure that you go through https://wiki.gnome.org/Outreachy#Eligibility and publish your list of credits and etc here in the proposal, as per the Outreachy guidelines. They are pretty strict about it, and and declaring it would make it easy for the mentors and orgadmins to decide fast on your selction and etc.

Sek2016 updated the task description. (Show Details)Oct 13 2016, 4:25 PM
Sek2016 updated the task description. (Show Details)Oct 13 2016, 5:16 PM
Sek2016 updated the task description. (Show Details)

@01tonythomas @Sumit Hello Sir!
Hope I am heading in the right direction with the Proposal!

Sek2016 updated the task description. (Show Details)Oct 13 2016, 6:14 PM
Sek2016 updated the task description. (Show Details)Oct 13 2016, 9:59 PM
Sek2016 updated the task description. (Show Details)Oct 13 2016, 10:29 PM
Sek2016 updated the task description. (Show Details)Oct 13 2016, 10:42 PM
Sek2016 updated the task description. (Show Details)Oct 13 2016, 10:46 PM
Sek2016 updated the task description. (Show Details)Oct 13 2016, 10:58 PM

I have made a rough Timeline, I'll share it here and let me know if its good to go.

DateTask
October 17Application deadline
October 26 - November 14Getting the designs approved and start contributing
November 29 - December 5Community bonding, studying the work flow of the organization and studying the technologies I don't have experience with.
December 6 - December 20Getting the working prototype ready
December 21 – January 14Getting the reviews and improving on them.
January 15 – January 20Midterm Evaluation
January 21 – February 10Committing final code
February 11 - February 15Testing phase.
February 16 – March 1Documentation and making revisions based on user feedback.
March 2 – March 6Final evaluations

During this time line, if I manage to finish some tasks early, then I will proceed to implement as many [If time permits] tagged tasks as possible.

Sek2016 updated the task description. (Show Details)Oct 14 2016, 6:55 PM
Sek2016 updated the task description. (Show Details)Oct 15 2016, 8:05 AM
Sek2016 updated the task description. (Show Details)Oct 15 2016, 8:07 AM
Sek2016 updated the task description. (Show Details)Oct 15 2016, 10:19 AM
Sek2016 updated the task description. (Show Details)Oct 16 2016, 9:42 AM
Sek2016 updated the task description. (Show Details)Oct 17 2016, 12:48 PM
Sek2016 updated the task description. (Show Details)Oct 17 2016, 1:07 PM
Sek2016 updated the task description. (Show Details)Oct 17 2016, 1:18 PM
Sek2016 updated the task description. (Show Details)Oct 17 2016, 1:34 PM

Thank you for your proposal. Please add a link to your outreachy proposal in https://outreachy.gnome.org on top of your project proposal. This can be something like Outreachy Link: https://outreachy.gnome.org/?q=view_projects&prg=7&p=xxxx Good Luck!

Sek2016 updated the task description. (Show Details)Oct 20 2016, 6:09 PM

Until 15th Dec, I'll have my semester break and 15th Dec on wards Semester8 commences (Academic Calendar). Regular student takes 22 credits and I'll take 6 credits for the college project work which is Final year group project that goes on for entire year and submitted at the year end i.e.April. I'll get 10 or more credits for this wikimedia project internally, for that I'll have to submit internship offer letter to my class Coordinator , for others I just have to take the mid-term and final examinations (This happens in the case of Final year Students)

Just asking, but this 22 Credits include theory + your group project right ?

Are you going to make this Outreachy project as your final year project (thereby gaining the 6 from the Outreachy project) ?

Can you explain abit about how you will get extra 10 credits for the same ?

Hello Sir!

Currently, I am a final year student of University of Pune of batch 2013-2017. Credit System was introduced in June 2015 in my university, So it doesn't apply to my batch. I was trying to explain my schedule using it.

In Final Year our college and university students are given a free hand to pursue internships and training as per their will. There is one final year project the student in a group of 3-4 has to complete that is the only requirement along with the exams to complete the course. This leaves students with a lot of free time to intern or Explore their interests in the final year.

Continuing on my previous point many students from my batch are pursuing Full-time internship at Nvidia, Ubisoft, Autodesk, NTT DATA, IBM, BMC Software etc, So I can guarantee Full-time commitment.

Regarding my Final year project, it is a year-long project, we have done it InHouse and most of the project work is done, just submission is left and that happens in April(we don't have college hours for that).

Sek2016 updated the task description. (Show Details)Oct 29 2016, 5:12 PM

Alright. I just want you to confirm that, a full-time student typically takes 22 credits, while you will only take 6 credits plus get about 10 credits for your Outreachy project. Also, you are not be taking any other courses, and will only get 6 credits outside of Outreachy?

Waiting for your reply!

Sek2016 added a comment.EditedNov 2 2016, 7:09 PM

yes Sir! Thats correct.