After 3 months filled with coding, debugging and testing, GSoC'20 has finally come to an end. I spent this last week wrapping up the documentation and finishing up my final submission report for GSoC. I also discussed with my mentors the future steps we'll take with Mscolab.
My code was just recently merged with the develop branch of MSS and all tests passed!. I am really excited to have users use a piece of software that I wrote. I am already planning on what I want to work on in MSS after GSoC is over as there is a lot I can learn while working on this project.
These past 3 months have improved my coding skills significantly and introduced me to the amazing mentors at MSS. My time during GSoC has been absolutely wonderful and I can't wait to contribute to more interesting open source project. I hope next year, I would be able to mentor some bright students who are working on MSS .
Tanish19's Blog
What did I do last week?
This last week of the coding phase, I went through the bug list that was made by mentors doing a thorough test and fixed them all. I improved the UI a little bit and added a "help" dialog for mscolab so new users can quickly get acquainted with all the features mscolab has to offer. After this I cleaned up the database setup script for mscolab and added database seed options. Now setting up mscolab is much easier than before and can work with multiple databases - sqlite, mysql, postgreSQL etc.
What will I do this week?
Now all that's left is a little documentation fix and finishing up my report page for final GSoC submission. I can't believe how fast these 3 months went by and now I am in the final week of GSoC
Did I get stuck anywhere?
No.
This week I finished all the functionalities and tests that I had proposed in my GSoC proposal. There is currently a very tricky bug in one of the tests for the waypoints merge dialog which needs to be fixed but other than that I am pretty much done with my work. My mentors had a meeting today where they all tested out my work together to see if any changes need to be made or if there are any bugs. They found some small bugs and UI fixes. I have fixed most of them and it would take another day to fix all the remaining ones.
This last week before submission, I have to fix the database seed script which won't take much time and then finish up my documentation and make the final report of my work for submission.
The most tough part for me has been writing tests this week. I wish there was a better testing support for PyQt because there are many simple things which are missing from it and the documentation of is also not completed. However, I have been able to keep a good test coverage of all my work.
What did I do this week?
I have finally completed all my the functionality that I had proposed in my GSoC proposal. My PR was also accepted. I finished my work by adding the merge conflict dialog which pops up when saving or fetching waypoints.
What will I do next week?
This week is mostly testing and bug fixing. I have to complete the tests for the merge window then I also have a list of small bugs which need to be fixed. My mentors are also now testing the whole application on their development server to find any new bugs as they work with mscolab. There is one more feature that I might add this week after discussion with my mentors in our weekly meeting.
Did I get stuck anywhere?
No, this week went by smoothly.
This week was a little tough for me. First I got some issue while writing the tests for the version history window. For some reasons the tests throw an error randomly and sometimes they pass successfully. I suspect this is a timing issue but increasing sleep time in between commands did not fix this problem. My mentors and I are still investigating this issue.
The next thing I worked on was import file and merge waypoints window. The import file functionality was simple to implement however, I have been a little stuck on the merge window implementation. I am having some trouble to make the UI like I want with PyQt. I have gone through a lot of docs to see how to implement it in the most efficient and simpler way but have not found exactly what I am looking for.
I am very close to finishing up all the work related to my proposal. With the merge window complete only some minor features would remain. After that I just need to finish up the remaining tests and fix bugs if any. So this week my aim is to finish this merge functionality and see how much else I can complete.
I mostly get stuck while building the UI with PyQt5. There are some very simple tasks which would have been much easier in some other frameworks but I find them hard to do in PyQt. Although when I started GSoC I had absolutely zero experience in using PyQt, I am much more confident in using it now.