nrnb / GoogleSummerOfCode

Main documentation site for NRNB GSoC project ideas and resources
115 stars 38 forks source link

Notification system for GraphSpace #35

Closed tmmurali closed 7 years ago

tmmurali commented 8 years ago

Background

GraphSpace is an easy-to-use web-based platform collaborating research groups can use for storing, interacting with, and sharing networks. A GraphSpace user can upload graphs through a REST API, import graphs created in Cytoscape, interact with graphs (view them, customize layouts, and save layouts), share graphs (create groups and add collaborators, share graphs among all members of a group or with the world), search graphs, and organize graphs using tags. GraphSpace has a comprehensive REST API that allows users to communicate programmatically with it.

Goal

This project will create a notification system for GraphSpace. The system will different types of notifications, e.g., a user can learn whether a graph has been shared with her, if a new layout has been created, if another user has viewed a share graph. Whenever a user is logged in, a notifications tab or icon will inform the user about the number of new notifications that the user has not seen yet.

Potential Mentor

T. M. Murali

Contact

murali@cs.vt.edu

saifulbkhan commented 8 years ago

Hello I am interested in applying for this project. I'm not very proficient in python or SQL but ready to dedicate the time to learn your API or any related technologies for this project. Before mailing I'd like to know if there is any real time communication means for NRNB projects? How familiar do I need to be in RESTful services to be a valid applicant?

devkhan commented 8 years ago

+1 @saifulbkhan for chat or mailing list or something

AlexanderPico commented 8 years ago

NRNB is a collection of 40+ mentors working on a variety of projects with different dev communities. So, contact the mentor corresponding to any ideas of interest (see "Contact" info) and they will connect you to the right community channels. In many cases, that might just be email...

saifulbkhan commented 8 years ago

Ahh ohk @AlexanderPico ! Thanks for the help. I'll mail the respective mentor.

khanspers commented 7 years ago

Closing since this is an active project being reviewed

shubham3174 commented 7 years ago

hello, i would like to work on this project . is this project still open.?

ludlows commented 7 years ago

I am seeking a student position for this project. Will it still be an option in 2017?

adbharadwaj commented 7 years ago

Here is the updated description of the project for GSoC 2017:

Background

GraphSpace is an easy-to-use web-based platform collaborating research groups can use for storing, interacting with, and sharing networks. A GraphSpace user can upload graphs through a REST API, import graphs created in Cytoscape, interact with graphs (view them, customize layouts, and save layouts), share graphs (create groups and add collaborators, share graphs among all members of a group or with the world), search graphs, and organize graphs using tags. GraphSpace has a comprehensive REST API that allows users to communicate programmatically with it.

Goal

The aim of the project is to build a notifications system for GraphSpace which will allow a user to track important activities on GraphSpace via notifications. Here is the list of features which will be supported by the notifications system.

Asynchronous Messaging Queue

The notifications service should be supported using an asynchronous messaging queue service like RabbitMQ/Kafka. The messaging queue will allow for decoupling the notifications flow from the primary flow which triggered the notification event.

Types of notifications

GraphSpace notifications system should be able to deliver three kinds of notifications:

Group notifications - User will automatically receive these notifications when they join a group. Here is a list of scenario when a user will receive a group notification:

Owner notifications - User will automatically receive these notifications when they create a resource (graph, layout or group) on GraphSpace. Here is a list of scenario when a user will receive an owner notification:

Watching notifications - User will automatically receive these notifications when they are actively watching a graph or layout, but aren't necessarily the owner of the graph or layout. The user will receive these type of notifications only if they have manually signup for watching notification. Here is a list of scenario when a user will receive a watching notification:

Notifications Read State

The system should be able to track if the user has read the notification or not.

Managing notification delivery methods

A GraphSpace user should be able to receive notifications via multiple delivery methods.

GraphSpace web interface - Whenever a user is logged in, a notifications button or icon will inform the user about the number of new notifications that the user has not seen yet. The notifications button should take the user to a notifications page where he/she can see the list of unread notifications. The notifications web interface should allow the user to browse notification on the basis of their read state, content and type.

Email - The user should have an option to get notifications via Email.

Technologies

This project will require knowledge of the following technologies:

Potential mentors

Aditya Bharadwaj T. M. Murali

Contact

adb@vt.edu murali@cs.vt.edu

adbharadwaj commented 7 years ago

@shubham3174 @ludlows This project is available for GSoC 2017. Drop an email to me at adb@vt.edu, if you are interested.

meow1729 commented 7 years ago

Hello @adbharadwaj, I am also interested in this project.Can I also email you?

shubham3174 commented 7 years ago

@adbharadwaj i have mailed you . Please check

khanspers commented 7 years ago

GSoC 2017 selected project