- Student: Naman Gupta
- Github: Naman Gupta
- Organisation: Public Lab
To implement WebSockets for various real-time communication in the project such as sending real-time browser notifications to Desktop and Mobile Devices for various users Action and to build a Graph Plotting Library.
In this summer of code I was working on two projects. In major part of the summer i.e in last two phase I worked on WebSockets Implementation for real time interation using Action Cable. And in the first phase I worked on the setup of Graph Library from scratch. In the former project, I setup action cable for websocet connectivity in the project for real time communication which are currently being used to notify users via real time browser notification whenever a user comments or likes or being mentioned in the post. Most of the part in this projects goes to testing of action cable stream to action cable connection to various implementaion of action cable such as comments, like and mentioned. In the later project, I setup the data-grapher project from a single file structure to the standard node library file structure and divide the code into multiple files using oops design pattern. I have also added the feature of adding multiple graphs using multiple csv to the library. In the end, I also worked on some of bugs and issues outside my Google Summer of Code project i.e fixing issues related reply-by-mail and reply-by-tweet.
Pull Request: publiclab/plots2#5744, publiclab/plots2#6017, publiclab/plots2#6023
- Setup of Config of Action Cable
- Setup of redis to work with Action Cable to store the connected Sockets Information.
- Implemented socket connection Authorization based on login type.
- Created a basic channel where Admin can broadcast messages from their socket rooms.
Pull Requests: publiclab/plots2#5972, publiclab/plots2#6003
- Added User channel, User Notification channel
- Implemented Browser Notification for comment Addition for Computers.
Pull Request: publiclab/plots2#5985
- Added
action-cable-testing
gem for testing Action Cable Streams - Wrote tests for Action Cable Streams
Pull request: publiclab/plots2#6032
- Added Action Cable Connection Unit Tests
Pull Request: publiclab/plots2#6034
- Added test for subscription of user Room Channel
- Added test to check no broadcast when user is non admin
- Added test to check broadcast when user is admin.
Pull request: publiclab/plots2#6036
- Added test for no subscription of Websocket Connection when user is not logged-in.
- Added test for subscription of Websocket Connection when user is logged-in.
Pull Request: publiclab/plots2#6038
- Added test for no subscription of Websocket Connection to User Notification Channel when user is not logged-in.
- Added test for subscription of Websocket Connection to User Notification Channel when user is logged-in.
Pull request: publiclab/plots2#6105
- Added UI Part for Browser Notification settings
Pull Request: publiclab/plots2#6153
- Added Browser Notification for like
Pull Request: publiclab/plots2#6158
- Added Service worker for notification on mobile phones.
- Handled notification on click events in service worker.
Pull Request: publiclab/plots2#6030
- Action cable integration tests for browser notification while posting comments
- Added Fixtures
- Added test for no broadcast when there is no comments request
- Added test for no broadcast when user not logged-in
- Added test for zero broadcast when user not logged-in
- Added test for broadcast when user logged-in
- Added test for number of broadcasts when user logged-in
- Added test for broadcast to only users with particular tag.
- Added test for no broadcast to no enganged user.
Pull Request: publiclab/plots2#6158
- Added Service worker for notification on mobile phones.
- Handled notification on click events in service worker.
Pull Request: publiclab/simple-data-grapher#5
- Setup of project using node.
Pull Requests: publiclab/simple-data-grapher#7
- Added Jquery, Papaparse and chart.js dependencies
Pull Request: publiclab/simple-data-grapher#10
- Added npm script to watch changes and build on changes and added browserify package
Pull Request: publiclab/simple-data-grapher#13
- Added Mocha, Chai and tests
Pull Request: publiclab/simple-data-grapher#29, publiclab/simple-data-grapher#36
- Restructured whole code from one single file to various files using oops based design pattern.
- Implemented live requring of different files.
- Added Live building of src/ into dist/.
- Added Multiple Graph Feature from multiple columns.
Pull Request: publiclab/simple-data-grapher#62
- Added project setup and run instructions
Special thanks to the Public Lab collaborators and following mentors.
- Jeffrey Warren