Articles on Tanish19's Bloghttps://blogs.python-gsoc.orgUpdates on different articles published on Tanish19's BlogenMon, 31 Aug 2020 16:55:17 +0000GSoC Weekly Blog #7https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-blog-7/<p>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.<br> <br> 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.<br> <br> 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 <img alt="smiley" src="https://blogs.python-gsoc.org/static/djangocms_text_ckeditor/ckeditor/plugins/smiley/images/regular_smile.png">.</p>tanish1908@gmail.com (Tanish19)Mon, 31 Aug 2020 16:55:17 +0000https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-blog-7/GSoC Weekly Check-In #7https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-check-in-7/<p><u>What did I do last week?</u><br> 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. <br> <br> <u>What will I do this week?</u><br> 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<img alt="laugh" src="https://blogs.python-gsoc.org/static/djangocms_text_ckeditor/ckeditor/plugins/smiley/images/teeth_smile.png"><br> <br> <u>Did I get stuck anywhere?</u><br> No. <img alt="smiley" src="https://blogs.python-gsoc.org/static/djangocms_text_ckeditor/ckeditor/plugins/smiley/images/regular_smile.png"></p>tanish1908@gmail.com (Tanish19)Mon, 24 Aug 2020 16:07:37 +0000https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-check-in-7/GSoC Weekly Blog #6https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-blog-6/<p>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.</p> <p>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.</p> <p>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.</p> <p> </p>tanish1908@gmail.com (Tanish19)Mon, 17 Aug 2020 21:20:32 +0000https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-blog-6/GSoC Weekly Check-In #6https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-check-in-6/<p><u>What did I do this week?</u></p> <p>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.</p> <p><u>What will I do next week?</u></p> <p>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.</p> <p><u>Did I get stuck anywhere?</u></p> <p>No, this week went by smoothly.</p>tanish1908@gmail.com (Tanish19)Mon, 10 Aug 2020 17:43:39 +0000https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-check-in-6/GSoC Weekly Blog #5https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-blog-5/<p>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.<br> <br> 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.<br> <br> 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.<br> <br> 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.</p>tanish1908@gmail.com (Tanish19)Mon, 03 Aug 2020 15:50:10 +0000https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-blog-5/GSoC Weekly Check-In #5https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-check-in-5/<p><u>What did I do this week?</u></p> <p>This week I finished the version history window and added options for users to work locally on a flight path. I had to make a lot of changes to the existing database and the workflow of how people use the application.</p> <p><u>What is coming up next?</u></p> <p>I had a long discussion with my mentors on what type of UI would they prefer and which UI would be more intuitive for the users. This week I'll primarily work on writing some tests and implemented file import for a project like I discussed with my mentors.</p> <p><u>Did I get stuck anywhere?</u></p> <p>I was just a little confused by some of the requirements my mentor mentioned but that has been resolved now.</p>tanish1908@gmail.com (Tanish19)Mon, 27 Jul 2020 15:07:02 +0000https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-check-in-5/GSoC Weekly Blog #4https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-blog-4/<p>I spent the last week working mainly on search message and reply to a message functionality. The search message was a simple however, it took me quite some time to figure out how exactly I wanted to tackle the reply message functionality as there are multiple ways to do it. After completing these, I wrote some pending tests for file upload and then tests for search and reply. There were also some small bugs in the chat which I fixed. The PR is currently being reviewed by my mentors once it's merged my work for mscolab chat will be complete.<br> <br> I had a long conversation with my mentors about the next component that I'll be working on that is local editing of flightpaths in mscolab. I cleared all my doubts about the requirements and will start working on that this week. After some deeper understanding of the code, I have found out the version system would require much more work than I first thought so I'll be working on it when some of the local flight editing work is done because the version window is related to it a little bit.<br> <br> Last week I was stuck for a long time on a UI sizing issue with PyQT5 and have still not been able to fix it but I was able to put together a hack that works pretty well for now. If I get the time I'll tackle this issue later again and try to write a cleaner implementation.</p>tanish1908@gmail.com (Tanish19)Mon, 20 Jul 2020 14:00:25 +0000https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-blog-4/GSoC Weekly Check-In #4https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-check-in-4/<p><u>What did I do this week?</u><br> I did some code refactoring, some UI tweaks based on my mentor's suggestions, wrote tests for delete and edit feature in chat and added the image and document upload feature in mscolab chat.<br> <br> <u>What is coming up next?</u></p> <p>There are some small changes required in file upload feature. I will be finishing up those. After that, I would be discussing with my mentors if any change or addition is required in the work I have done. If not I would be starting work on my final component of GSoC proposal which is the Offline editing of flightpaths.</p> <p><u>Did I get stuck anywhere?</u><br> Mostly, I get stuck while creating the UI with PyQT5. Still getting a hang of how it. It takes me some time but I am able to do it.</p>tanish1908@gmail.com (Tanish19)Mon, 13 Jul 2020 15:48:40 +0000https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-check-in-4/GSoC Weekly Blog #3https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-blog-3/<p>This week, I worked on completing the delete and edit message functionality and writing tests for them. I was able to complete these tasks and later worked on refactoring some part of the new code. I also made some small tweaks and fixes to the existing code base of mscolab. I was planning on redesigning the version window UI but I realised the redesign would take a lot of work in the backend and changes in database as well. I would need to talk to my mentors on how to proceed on this.</p> <p>This week, I have a list of small tweaks that I need to do in the work I have finished till now. I will be working on those. I would also be talking with my mentors to confirm some requirements for the next component of my project which is the offline editing feature.</p> <p>This week writing tests took me the most time. With very limited documentation it's kind of tough to write tests for PyQt5 but I was able to write them in the end. </p> <p>Currently my PR is awaiting approval from the mentors and will be merged soon.</p>tanish1908@gmail.com (Tanish19)Mon, 06 Jul 2020 17:23:15 +0000https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-blog-3/GSoC Weekly Check-In #3https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-check-in-3/<p><u>What did I do this week?</u></p> <p>I fixed some issues with my chat markdown PR. It should get merged now. After this I worked on message delete and edit features. I am mostly done with these just need to test them a bit and then I will make a PR. I also made a separate window to view version history of all the changes made to the flight path.</p> <p><u>What is coming up next?</u></p> <p>This week I would be completing my PR for delete and edit features of chat. After that I would be working on improving the UI for the version history window. If I get the time I would start writing tests for the same.</p> <p><u>Did I get stuck anywhere?</u></p> <p>I changed the existing code a lot to add the new features so I had to spend a lot of time testing to make sure no new bugs were created.</p>tanish1908@gmail.com (Tanish19)Mon, 29 Jun 2020 09:33:30 +0000https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-check-in-3/GSoC Weekly Blog #2https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-blog-2/<p>This week I finished up all the tests required in admin window as well as added markdown support in mscolab chat. I also did some redesigning of the chat window. I also made a new window to show the history of all the changes for mscolab.<br> <br> Most of my time last week was spent on how to implement the markdown feature. I looked at various different ways of implementing it. I was able to create rich text editor buttons for common features like bold, italics, underline and lists.<br> <br> However, I ran into a big issue which was that PyQt's QTextEdit widget returned a massive HTML response even for a very small message. I didn't want to store such a huge response in the database as it contained several unwanted HTML tags and inline styles. I could not find a way to reduce this output so I had to completely change my approach.<br> I completely scrapped the button approach and moved on to allowing markdown syntax in the chat itself. I used the python-markdown library for converting markdown to HTML on the fly. I had to spend some time figuring out how to deregister any syntax I don't want to support as I only wanted support for bold, italics and lists. After going through the library's documentation and tutorials, I was able to get it all working🥳<br> After adding the markdown support, I removed some existing code which was made redundant after the addition of the admin dashboard and fixed the tests which were affected by this code.<br> <br> This week, I would be working on adding other chat features like edit and delete messages and hopefully, if I am able to complete these features move on to finishing up the new change history window.</p>tanish1908@gmail.com (Tanish19)Mon, 22 Jun 2020 11:58:48 +0000https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-blog-2/GSoC Weekly Check-In #2https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-check-in-2-1/<p><u><strong>What did I do this week?</strong></u></p> <p>My plans for this week was to start work on the chat window. However, my mentor had an idea about a nice feature to add in the admin dashboard, so I worked on completing that first. It was a feature to copy permissions from a different project to the selected one. This feature would save users a lot of time if they have multiple projects and are working with the same group of people. After implementing this, I worked on completing the pending tests in the admin window. After this, I started my work on the chat window but I was only able to do the new design part and some refactoring.</p> <p><br> <u><strong>What is coming up next?</strong></u><br> This week, I would be working on the chat window. I would be having a meeting with my mentors first, to finalize some features and based on their feedback I would be picking which feature to start my work on.<br> <br> <u><strong>Did I get stuck anywhere?</strong></u></p> <p>Writing tests for the first time has been a bit hard for me. Deciding what feature to test, having proper seed data for testing etc are till some things I am learning. However, after writing the tests for the admin window, I feel much more confident going forward.</p>tanish1908@gmail.com (Tanish19)Mon, 15 Jun 2020 10:32:05 +0000https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-check-in-2-1/GSoC Weekly Blog #1https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-blog-1-1/<p>The coding phase of GSoC'20 finally began last week. I finished up fixing the existing bugs in mscolab and started my work on the admin window for mscolab. I have 3 major components that I am going to build during GSoC and the admin window is the first one. The admin window will allow flight campaign project admins to quickly add/modify/delete the permissions of the users working on their project.</p> <p>My aim for last week was to get the UI and the server endpoints setup but I was able to finish up quite a lot more. I started with the UI in QtDesigner and wrote the necessary API endpoints. I got stuck while writing the APIs because it was my first time using the flask-SqlAlchemy library. I had used a "is None" comparison in the query filter which doesn't work in SqlAlchemy. I was stuck for quite some time before I figured out where the issue was. Finally, I realized the error and fixed it by replacing it by the "is_" function in Sql Alchemy.<br> <br> After completing the APIs and connecting them to PyQt5 UI, I started my work on the search filters for the window. I added a search by username or email filter and a filter based on permission of the user. After adding the filters I added a socket event to refresh the window for other users when the permissions are updated in the admin window.</p> <p>With all this, my work on the admin dashboard was mostly complete and I made a PR. After some review from my mentor and some slight refactoring, my first GSoC PR was accepted 🎉.<br> <br> Now, for this week, I am going to start working on the unit tests for the admin window. I have already started working on them and will finish them up in the next couple of days. I don't have much experience in writing unit tests and the QtTest library for PyQt is also lacking some examples so I am learning most of the functions from reading the existing tests. After the tests are done, I will be moving on to the next component in my GSoC project which is the chat window. I aim to finish up the UI of the chat window and work on the markdown support.</p> <p><br>  </p>tanish1908@gmail.com (Tanish19)Mon, 08 Jun 2020 08:44:53 +0000https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-blog-1-1/GSoC Weekly Check-In #1https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-check-in-1-1/<p>Hey, I'm Tanish Grover. I'll be contributing to Mission Support System (MSS) under Python Software Foundation during GSoC'20. I'll be working on improving Mscolab functionalities.<br> <br> <u><strong>What did you do this week?</strong></u><br> I spent the last week of community bonding closing some existing issues in Mscolab to get more familiarized with the codebase. I spent some time reading the PyQt5 documentation and learning how to write better tests. I started designing the admin window and have got a good understanding of exactly what part of the existing codebase I need to update and what I need to add so I would be more efficient when I start coding.<br> <br> <u><strong>What is coming up next?</strong></u><br> This week I would be working on the Mscolab admin dashboard. I would be completing the UI and adding the add/modify/delete functionality.<br> <br> <u><strong>Did you get stuck anywhere?</strong></u><br> I got stuck while fixing an issue which required to import a different file when the test suites are running but I was able to fix it.</p>tanish1908@gmail.com (Tanish19)Mon, 01 Jun 2020 10:24:16 +0000https://blogs.python-gsoc.org/en/tanish19s-blog/gsoc-weekly-check-in-1-1/