[SoC] GSoC 2020 - Community Bonding Report Week 1 & Week 2 - Depth First Search and Sequential Vertex Coloring for pgRouting

Ashish Kumar ashishkr23438 at gmail.com
Sat May 16 23:00:23 PDT 2020

Hello everyone,

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

Public Repository: [2]
Project Wiki: [3]

*Community Bonding Report - Week 1 & Week 2*
During the Community Bonding period, I performed the following tasks:
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.
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.
3. Read the OSGeo's specific instructions [8] [9] and Google's GSoC Student
Guide [10].
4. Revised the report made by me [11] during the Pre-Bonding period on
getting familiar with C++ and about the recommended C++ Development
5. Became familiar with the pgRouting development environment and learned
how to build the project.
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].
7. Learned about the docqueries and the pgTAP tests, required for testing
the functions.
8. Learned about the Continuous Integration and built and verified the
dummy functions on Travis-CI, Appveyor and GitHub Build.
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.

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:

1. May 6th
    - Understood the file structure of the functions of pgRouting - sql,
src, include, pgtap, doc, docqueries.
    - Analyzed the code sequence of the pgr_dijkstra function, so that any
other function developed would follow the same code sequence.

2. May 7th
    - Understood the testing schema of pgRouting.
    - 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).

3. May 10th
    - Understood how to design a function.
    - Analyzed how to store the graph in the database and the functions
related to that (e.g. functions in edges_input.c).

4. May 12th
    - Set up a branch named gsoc-ashish on the pgRouting GSoC-repository
for sending pull requests.
    - Learned how to create a simple dummy function (pgr_funnyDijkstra,

5. May 15th
    - Understood the releases of pgRouting (alpha, beta, rc1) and that
v3.0.0 will be released later.
    - Understood the Continuous Integration on Travis CI, Appveyor and
GitHub build, and how to report the build problems, if encountered.

*What did I plan to do the next week?*
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:

1. Start coding my first function "pgr_depthFirstSearch" in a separate
branch in my forked repository.
2. Create a basic skeleton for C, C++, SQL code, and for documentation and
3. Try to understand pgRouting better and adding Boost's functionality to
the function.

*Am I blocked on anything?*
No, currently I don't have any blocking issue.

 - [1] https://lists.osgeo.org/pipermail/soc/2020-May/004437.html
 - [2] https://github.com/krashish8/GSoC-pgRouting
 - [3]
 - [4] https://lists.osgeo.org/pipermail/soc/2020-May/004438.html
 - [5] https://lists.osgeo.org/pipermail/pgrouting-dev/2020-May/002040.html
 - [6] https://wiki.osgeo.org/wiki/Google_Summer_of_Code_2020_Accepted
 - [7] https://github.com/pgRouting/pgrouting
 - [8]
 - [9]
 - [10] https://google.github.io/gsocguides/student/
 - [11] https://github.com/krashish8/GSoC-pgRouting/issues/3
 - [12] https://github.com/krashish8/GSoC-pgRouting/tree/foobar
 - [13] https://github.com/krashish8/GSoC-pgRouting/tree/funnyDijkstra
 - [14] https://github.com/krashish8/GSoC-pgRouting/tree/span2trees
 - [15] https://github.com/pgRouting/GSoC-pgRouting
 - [16] https://github.com/pgRouting/GSoC-pgRouting/tree/gsoc-ashish
 - [17] https://meet.jit.si/pgrouting

Thank you,
Ashish Kumar.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/soc/attachments/20200517/ec55f3f2/attachment.html>

More information about the SoC mailing list