Page MenuHomePhabricator

Gsoc Proposal 2019 Chatting System For Wiki Education Dashboard
Closed, DeclinedPublic


Chatting System For Wiki Education Dashboard

Profile Information:
Name: Hardik Chugh
Slack Username: _hardy_boy
Github Username: hardy1334
Contact No: +91-9729855215
Location: India
Time Zone: India (UTC+5.30)

Meeting With Community
Available through Slack, Zulip, Email and Video session(if required) from UTC 5:15 am to 7:30 pm. (IST 10:45 am to 1:00 am)
Typical Working hours : UTC(5:00 am - 9:30 am) , UTC(1:00 pm - 7:00 pm)


[ Wiki Education Dashboard ] Build a Chat System so that Instructors and students enrolled in a course can interact with each other.

Wiki Education Dashboard is web app where instructors can create a course and students can also be enrolled in that course, so to this web app to next level, I plan to implement a communication medium between the instructor and the students enrolled in that course. Also, if instructor wants some message to be seen by all the students enrolled in that course , there will be separate notice box where instructor can type the message to be seen by all the students enrolled in the course , and once instructor sends that message it will be displayed in the dashboard of all the students enrolled in that course, and if the instructor wants to send message to specific students that thing will also be possible in this project.
A notification will also be displayed on respective dashboard that there is a message from so and so individual.

Mentors: Sage Ross( @Ragesoss )

I have been an active member of community since January and also been active on Slack Channel on regular basis. I have also made some contributions to this project and also created some issues in the project.

Have you contacted your mentor already ?
Yes, I have already discussed about this project with Sage Ross and he is also quite interested in this project.


  • Implement a Chat System so that Course creator can send messages to students enrolled in course.
  • Implement a Chat System so that students enrolled can also send messages to instructors of course .
  • Implement a system so that instructor can send message to selected number of students in course.
  • Implement a system to let instructor send message to all the students enrolled in a course.

Implementation Details:
As the main thing about this is to let instructors and students send messages, so that thing will be done with the help of ActionCable in rails and then that data is to be sent in the form of Restful api which will be used by React/Redux to display information. As for the notifications part,which are to be shown for now,I’m planning to use Webpush.

Phase 1 ( May 27 - June 23 )
( Week 1 & Week 2 )

  • Researching about ActionCable and Designing layout of Chat System.
  • Implementing Instructors sending messages to students enrolled.
  • Students can view the message sent by Instructor.

    ( Week 3 & Week 4 )
  • Researching and Designing of Notifications system for students .
  • Students are notified about the messages sent from Instructors for them.

Phase 2 ( June 24 - July 21 )
( Week 5 & Week 6 )

  • Designing Layout of Chat System for Students Dashboard.
  • Implementing Students sending message to Instructors of respective course.

    ( Week 7 & Week 8 )
  • Researching and Designing of Notifications system for Instructors .
  • Instructors are notified about messages from students enrolled in all courses.

Phase 3 ( July 22 - August 26 )
( Week 9 & Week 10 )

  • Researching and Designing of Instructors sending messages to selected students.
  • Implementing Instructor send common messages to selected people enrolled in course.

    ( Week 11 & Week 12 )
  • Designing Layout of Instructors sending messages to all the students enrolled in a course.
  • Implementing functionality to send messages to all the students in a course.

( Week 13 )

  • Wrapping up and cleaning up the code for Final submission.

Future Goals( Post GSOC )
In Chatbox we will let Instructors and students send any type of file in chatbox like doc files word files,etc. and I also plan to add option to download or open the files in browser sent in chatbox.

I plan to use the project’s slack channel or email as per the convenience of mentor. I have been in contact with Sage Ross on regular basis and Will be in contact with him in near future. Apart from working on this project,I will also be more than happy to resolve other issues.

About Me:
University: Chitkara University,Punjab
Year of Study: 3rd
Field of Study: Computer Science

How did You hear about this Program ?
I heard about this program from my senior in our college who did GSOC in 2017 with Fossasia and now he is mentor in Fossasia.Since then, I was very much excited to be part of GSOC.

Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?
As the dates of my University exam are tentative, there might be my exams in the mid of July and at the end of May.Except these I don’t have any time commitments as my top priority is to complete GSOC 2019.

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 am only planning to apply for Google Summer of Code with Wikimedia Foundation.

What does making this project happen mean to you?
It has not been a long time since I have been contributing to big open source organisation like Wikimedia.I love to empower people, from my work and there could be no better opportunity than this. As this piece of software is used by thousands of people worldwide so it’s a great way to empower people with my skills.


Instructors and Students Dashboard for Chatting:

Screenshot from 2019-03-22 04-57-04.png (490×1 px, 105 KB)

When User decides to Chat:

155266949886766374.png (488×1 px, 135 KB)

Past Experience:

I have been working with Linux for over a year now, mainly I use Ubuntu for my day to day work. I have worked in Web Development in technologies like React Js,Redux,Node Js,MongoDB,Express JS,Ruby on Rails,etc.I use Git as version Control System for my project work.I have also made some Localised apps for Actions on Google ( )

Some of my Projects:

This project is uses technologies like React Js,Redux for Frontend, Node Js for server- side rendering and MongoDB for storing data.

  • This project is based on Ruby on Rails which lets user do send messages to each other with the help of ActionCable in Rails. This project is currently in development but the message sending and receiving part is almost complete.

I have also done some contribution to Wiki Education Dashboard project, and they are listed below:

Currently Working on:
Issue: #2384
Issue: #2521

I also created some issues in Wiki Education Dashboard which are listed below:

Event Timeline

Hardik updated the task description. (Show Details)
Hardik updated the task description. (Show Details)
Aklapper renamed this task from Gsoc Proposal 2019 Chatting Project to Gsoc Proposal 2019 Chatting System For Wiki Education Dashboard.Apr 1 2019, 9:19 AM

If you would like us to consider your proposal for review, please move it to the submitted column on Google-Summer-of-Code (2019) board.

(look for next steps in the email you'll receive shortly with an option to request for a debrief on why your proposal was not accepted)