Hi everyone! As the first evaluation period is closing in, I am writing this diary entry as an update on the progress of my GSoC project for OSM, the OpeningHoursEvaluator.
Using the test-driven development approach (which, by the way, works wonderfully with this project), suggested by one of my mentors, Simon Poole, my project OpeningHoursEvaluator, an evaluator for the opening hours tag defined by OSM, is progressing fairly well, with the evaluator supporting almost all the syntaxes defined by the specifications, ranging from something as small as time and a wider range such as year, except for certain syntax where the OpeningHoursParser have yet to cover, variable time (dawn, sunrise, sunset, dusk), and also country-specific public holidays and school holidays (PH, SH). This is something I intend to complete in the second period of GSoC.
GitHub repository: https://github.com/goodudetheboy/OpeningHoursEvaluator
Additionally, throughout the period, I have set up non-grammar exception handling for error such as:
Compared to the initial goal of this first period, which is to cover all the opening hours syntaxes excluding the stage of day (dawn, dusk, etc.) and the country-specific holidays, the current state of the project has been quite satisfactory. Even though I have decided to go with a completely different approach from what I imagined during the application period, I have managed to cover almost all the syntaxes, which work closely to what I planned it to be due to features being test-driven.
Currently, the project is to a certain extent in good shape, so I encourage anyone who is interested in this project to test it out. There is a GitHub repository link above which you can clone from, and any issues should be raised in the GitHub link.
However, due to some limitations with my design, there are some features that I have yet to fully implement, including:
I have also not written a dedicated documentation for my project yet, due to some time constraints on my side.
In the next 5 weeks of the second period, I will carry out the two remaining goals I have set out, which are “Adding support for sunrise/sunset information” and “Adding support for holidays information”. I will also complete whatever is left in the Shortcomings section.