Waartaa is an open source, modern IRC client for the web. It supports centralized logging, 24×7 idling, notifications and unique identity to a user on IRC across multiple clients/devices, and also a rich UI for awesome user experience. During GSoC tenure, I plan to implement:
- A central hub for searching/reading channel logs.
- Bookmarking channel logs.
- Video/audio conferencing facility.
- Admin console panel in Waartaa.
Check out my detailed GSoC proposal for more info.
Setting up Waartaa
Before I was selected for GSoC, I had installed Waartaa on Ubuntu. But later I was told to set up Waartaa on Fedora for future development work. And so I did. Unfortunately, it took more time than I anticipated because of some partition issues in my laptop. I am glad that it has been set up properly now.
Indexing Channel Logs in Elastic Search
To implement a central hub for searching/reading channel logs, it is obviously necessary to store logs somewhere first. Waartaa’s current implementation saves channel logs in MongoDB but it is highly unoptimized for full text search. My mentors decided to use Elastic Search considering its full text search capability. Here is the basic code I have written to save channel logs in elastic search: https://github.com/waartaa/waartaa/pull/89/files
Fixing few minor issues
I fixed few minor issues as well. Both of them were client side related issues. Below are the PRs I sent:
I was told to get familiar with the code base by unit testing it. There were no previous unit tests in Waartaa’s code base so I had to start everything from scratch. There aren’t many unit testing frameworks available for Meteor. RTD test runner was our best option. RTD uses Jasmine as it’s default unit testing framework and it has a good documentation available. So writing unit tests was not as hard as I thought it would be. Till now I have written tests for client side template methods and events only. Here is the PR which I sent recently: https://github.com/waartaa/waartaa/pull/102
Please subscribe to get notifications of future posts on my GSoC work. Till then happy summer and happy hacking! 🙂
<script>JS I love you</script>