<div dir="ltr">Hello everyone,<div><br></div><div>The Community Bonding Period was a great experience. As discussed with the mentors, I'll start the coding from this week onwards, to avoid any delays in the future due to any unforeseen circumstances. Therefore, here is the Community Bonding Period report for Week 1 and Week 2, answering the questions asked [1] and listing all the tasks which I did during this period.</div><div><br></div><div>Public Repository: [2]</div><div>Project Wiki: [3]</div><div><br></div><div><b>Community Bonding Report - Week 1 & Week 2</b></div><div>During the Community Bonding period, I performed the following tasks:</div><div>1. Introduced myself and my project in the soc mailing list [4] as well as the pgrouting-dev mailing list [5], and requested feedback or suggestions on the project.</div><div>2. Requested edit access to the OSGeo Project Wiki page [6] and updated my project details on the same. Also, created my own Wiki Page [3] in the pgrouting main Github repository [7], for all the project details and weekly reports.</div><div>3. Read the OSGeo's specific instructions [8] [9] and Google's GSoC Student Guide [10].</div><div>4. Revised the report made by me [11] during the Pre-Bonding period on getting familiar with C++ and about the recommended C++ Development practices.</div><div>5. Became familiar with the pgRouting development environment and learned how to build the project.</div><div>6. Created various dummy functions in separate branches on my forked repository to understand pgRouting better - pgr_foobar [12], pgr_funnyDijkstra [13] and pgr_span2trees [14].</div><div>7. Learned about the docqueries and the pgTAP tests, required for testing the functions.</div><div>8. Learned about the Continuous Integration and built and verified the dummy functions on Travis-CI, Appveyor and GitHub Build.</div><div>9. Created a new branch named gsoc-ashish [15] in the GSoC-pgRouting repository [16] in which I will be sending all the pull requests of my work, at the end of every week.</div><div><br></div><div>Also, I attended all the 5 meetings organized on the pgRouting Jitsi Meet [17], each meeting lasting for an hour or two, through which I could get an in-depth knowledge of pgRouting, as listed below:</div><div><br></div><div>1. May 6th</div><div>    - Understood the file structure of the functions of pgRouting - sql, src, include, pgtap, doc, docqueries.</div><div>    - Analyzed the code sequence of the pgr_dijkstra function, so that any other function developed would follow the same code sequence.</div><div><br></div><div>2. May 7th</div><div>    - Understood the testing schema of pgRouting.</div><div>    - Understood how is a test designed, and how to do the testing using pgTAP (types-check, inner-query, no-crash-test, edge-cases) and docqueries (creating custom tests and verifying).</div><div><br></div><div>3. May 10th</div><div>    - Understood how to design a function.</div><div>    - Analyzed how to store the graph in the database and the functions related to that (e.g. functions in edges_input.c).</div><div><br></div><div>4. May 12th</div><div>    - Set up a branch named gsoc-ashish on the pgRouting GSoC-repository for sending pull requests.</div><div>    - Learned how to create a simple dummy function (pgr_funnyDijkstra, pgr_span2trees).</div><div><br></div><div>5. May 15th</div><div>    - Understood the releases of pgRouting (alpha, beta, rc1) and that v3.0.0 will be released later.</div><div>    - Understood the Continuous Integration on Travis CI, Appveyor and GitHub build, and how to report the build problems, if encountered.</div><div><br></div><div><b>What did I plan to do the next week?</b></div><div>I learned a lot during the last two weeks, and therefore plan to start the coding from this week onwards. I plan to accomplish the following tasks:</div><div><br></div><div>1. Start coding my first function "pgr_depthFirstSearch" in a separate branch in my forked repository.</div><div>2. Create a basic skeleton for C, C++, SQL code, and for documentation and tests.</div><div>3. Try to understand pgRouting better and adding Boost's functionality to the function.</div><div><br></div><div><b>Am I blocked on anything?</b></div><div>No, currently I don't have any blocking issue.</div><div><br></div><div><b>Links:</b></div><div> - [1] <a href="https://lists.osgeo.org/pipermail/soc/2020-May/004437.html">https://lists.osgeo.org/pipermail/soc/2020-May/004437.html</a></div><div> - [2] <a href="https://github.com/krashish8/GSoC-pgRouting">https://github.com/krashish8/GSoC-pgRouting</a></div><div> - [3] <a href="https://github.com/pgRouting/pgrouting/wiki/GSoC-2020-Depth-First-Search-and-Sequential-Vertex-Coloring">https://github.com/pgRouting/pgrouting/wiki/GSoC-2020-Depth-First-Search-and-Sequential-Vertex-Coloring</a></div><div> - [4] <a href="https://lists.osgeo.org/pipermail/soc/2020-May/004438.html">https://lists.osgeo.org/pipermail/soc/2020-May/004438.html</a></div><div> - [5] <a href="https://lists.osgeo.org/pipermail/pgrouting-dev/2020-May/002040.html">https://lists.osgeo.org/pipermail/pgrouting-dev/2020-May/002040.html</a></div><div> - [6] <a href="https://wiki.osgeo.org/wiki/Google_Summer_of_Code_2020_Accepted">https://wiki.osgeo.org/wiki/Google_Summer_of_Code_2020_Accepted</a></div><div> - [7] <a href="https://github.com/pgRouting/pgrouting">https://github.com/pgRouting/pgrouting</a></div><div> - [8] <a href="https://wiki.osgeo.org/wiki/Google_Summer_of_Code_Recommendations_for_Students#What_to_expect_after_application">https://wiki.osgeo.org/wiki/Google_Summer_of_Code_Recommendations_for_Students#What_to_expect_after_application</a></div><div> - [9] <a href="https://wiki.osgeo.org/wiki/Google_Summer_of_Code_Recommendations_for_Students#What_to_expect_during_the_summer">https://wiki.osgeo.org/wiki/Google_Summer_of_Code_Recommendations_for_Students#What_to_expect_during_the_summer</a></div><div> - [10] <a href="https://google.github.io/gsocguides/student/">https://google.github.io/gsocguides/student/</a></div><div> - [11] <a href="https://github.com/krashish8/GSoC-pgRouting/issues/3">https://github.com/krashish8/GSoC-pgRouting/issues/3</a></div><div> - [12] <a href="https://github.com/krashish8/GSoC-pgRouting/tree/foobar">https://github.com/krashish8/GSoC-pgRouting/tree/foobar</a></div><div> - [13] <a href="https://github.com/krashish8/GSoC-pgRouting/tree/funnyDijkstra">https://github.com/krashish8/GSoC-pgRouting/tree/funnyDijkstra</a></div><div> - [14] <a href="https://github.com/krashish8/GSoC-pgRouting/tree/span2trees">https://github.com/krashish8/GSoC-pgRouting/tree/span2trees</a></div><div> - [15] <a href="https://github.com/pgRouting/GSoC-pgRouting">https://github.com/pgRouting/GSoC-pgRouting</a></div><div> - [16] <a href="https://github.com/pgRouting/GSoC-pgRouting/tree/gsoc-ashish">https://github.com/pgRouting/GSoC-pgRouting/tree/gsoc-ashish</a></div><div> - [17] <a href="https://meet.jit.si/pgrouting">https://meet.jit.si/pgrouting</a></div><div><br></div><div>Thank you,</div><div>Ashish Kumar.</div><img src="https://info-mailtracker.com/pixel/DnYAfd9qmnRB5949nffc?rid=DnYAfd9qmnRB5949nffc" width="1" height="1" border="0"></div>