From Fedora Project Wiki

< GSOC 2014‎ | Student Application bogdanc

Revision as of 10:58, 20 March 2014 by Bogdanc (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Note.png
please use this template to organize your proposal

Proposal

Overview

Waartaa is a web IRC client thought as a service. The main goal of it is to give users the possibility to know what is discussed on IRC channels even when they are not online. Some of its features are central logging, 24/7 online and unique identity on all channels, so you don't need to change your nick if you access a channel from a different machine.

My contribution over the summer will be divided in 3 main objectives:

  • Developing a central hub for searching and reading channel logs
  • Developing a user dashboard where users can change the settings
  • Adjusting the UI for mobile devices

The need you believe it fulfills

Waartaa is a project for developers and is oriented on making their lives easier. One problem very many people experience is knowing what was discussed on IRC channels while they were offline. Even if they have access to the logs of those conversations, it is hard to scroll the hole content, sometimes, content from a few days and catch the most important topics or the one they were mentioned in. I am looking to address this problem by building an app where people can search the logs, receive notifications when they are mentioned and bookmark important topics so that they can communicate and coordinate better in open source development.


Any relevant experience you have

I have previously worked on a single page app as part of an open source project. Even, if there we used different techonologies, I have gained the experience of accomodating myself quickly with new technologies and with the principles of a single page app. I have also started contributing to Waartaa, so I got accustomed with the codebase and the technologies involved.

How you intend to implement your proposal

1. To implement the central dashboard for searching through logs, I will have to complete 3 main goals:

  • Build an Elasticsearch backend where logs will be stored and which we will query. After discussing with the project mentors we decided that Elasticserach is the best choice because unlike MongoDB which is pretty quick making queries, but becames pretty resource hungry, Elasticsearch is more scalable.
  • Elasticsearch with Waartaa and start collecting data. This integration should be pretty straightforward because waartaa logs are already in JSON format, so all we need to do is to send the information to the backend wich could be implemented with an asynchronous HTTP call from Meteor.
  • the user interface. For this purpose, I will take into consideration to build it with Meteor just like Waarta is, but if the platform shows that is not appropriate for the task, I will take into consideration to use another Node based framework like Hapijs.

Some of the features I am planning to include are:

  • searching the logs based on various crieria like date or sender
  • notifications system, so that the user knows when he was mentioned in a conversaiont
  • bookmarking system for managing important

2. Developing the user dashboard I will have to write some templates where the user can fill or change some of its preferences like email, password, bookmarks, etc and to update the database with the given input.


3. For the purpose of making Waartaa looking good on mobile devices I will have to tweack Twitter Bootstrap and make the app feel natural on smaller screens.


Timeline

Due to the fact that between 24th May and 13th June I will attend my final exams, I will start working in the Community Bonding period part time so I can meet my objectives.

21st April - 19th May

  • Discussing with the mentors and deciding exactly how everything will be implemented
  • documentation and learn what I don't know
  • building the Elasticserach backend

19th May - 25th May

  • work on Elasticsearch backend and integrate it with Waartaa

26th May - 8th June

  • implementing the main areas of the user interface

9th June - 22th June

  • bookmark and notification system

23th June - 6th July

  • the user interface for the logs dashboard
  • working on the user dashboard for Waartaa

7th July - 20th July

  • the dashboard
  • working on CSS to make it appropriate for mobile

21th July - 3rd August

  • the adaptation for mobile devices

4th August - 8th August

  • any last details

Have you communicated with a potential mentor? If so, who? Yes, I have discussed with Ratnadeep Debnath about the project and about my application.