Published: 06/17/2019

What did I do this week?

Last week, I've been working on integrating sockets, and build the 'chat' functionality on top of that. This involved, writing event handlers for chat events. The most interesting part was writing tests for this module, I've never written tests for real-time applications. Plus this application, has some additional complexity like permissions etc., which combinedly put a challenge to work on. I successfully got my code reviewed and merged, upto chat implementations. I also worked on integrating Sqlite as an alternative to MySQL database.

What's coming up next?

This week, I'm starting to work on File based handlers. To give a better idea, this project facilitates file synchronization across systems. In this part, I'm trying to tap change events and change the master database. Then I'd emit an event to all users that the file has been changed. To better handle this change, next to next week I'll work on the Change module(more on this on my proposal).

Did I get stuck anywhere?

During choosing library for implementing socket clients, to write tests, (Note that we'd use the same client to implement socket client for user interface) I got stuck for a day while trying to figure out the right one. The famous one 'python-socketio' had different distributions for client and server usage. It was hard to maintain the versions with 'flask-socketio' and 'python-socketio[client]' considering we were use conda-forge to install and distribute apps. For a while, I started writing tests with 'socketio-client' library. Me and my mentor, after a bit of discussion decided to use python-socketio.