Extend and improve the CERNBox Notifications platform
- Mentors
- Hugo Gonzalez Labrador, javfg
- Organization
- CERN-HSF
- Technologies
- mysql, javascript, go, typescript
- Topics
- web, Notifications
Reva is the core of the CERNBox service. It is a middleware framework,
providing interoperability between storage and application providers using a
universal set of APIs.
Currently, Reva’s notifications system is under development. In the next
few weeks, a small set of actions in the notifications system will be launched,
including
• Notifying a user you shared a file/folder with them via email.
• Notifying a user you uploaded a file to a folder they shared with you.
I propose to improve this notifications center with several additions.
The notifications would have a new settings option in which the user can
primarily choose which MIME type and possibly file type he wants to receive
notifications for.
This is to be done with additions to the database schema, possibly designing
a completely new schema. Also, there is major work to be done in the back-end
system in order to fully support this feature, and of course lastly, in the front
end - there needs to be work done on creating the settings window and parsing
the user choices for the setting they want to choose.
After this, another improvement can be done to the notifications center
which is the ability to get metrics on certain data - in particular how many
files/folders of a certain type or in general have been shared to this or by this
user. There is mostly work on the front end to be done here designing the
possible options in the settings to display this metric. But also work on accessing
the database to get these metrics displayed to the user.
Deliverables:
The extension of the simple notifications into a notifications center in the
UI, including settings for filtering the MIME type of the file
• Documentation on the implementation, reusability, extensibility, and testability
of the system, alongside a guide on how to use the UI.
• This includes extensions of the current back-end architecture as well as
extensions in the front-end UI.
• A richer API system for notifications that include metrics analysis