Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save simonpoole/362d3e464064a7866c5647c685581c03 to your computer and use it in GitHub Desktop.
Save simonpoole/362d3e464064a7866c5647c685581c03 to your computer and use it in GitHub Desktop.
Opening hours evaluator notes
Please read https://wiki.openstreetmap.org/wiki/Google_Summer_of_Code/2021, for this project a sucessful contribution to any of my projects https://github.com/simonpoole or other OSM related project will be considered. Please note that having the contribution merged is a requirement for being considered as GSOC student.
- Documentation on the opening_hours tag is here https://wiki.openstreetmap.org/wiki/Key:opening_hours, the grammar can be found here https://wiki.openstreetmap.org/wiki/Key:opening_hours/specification
- What is widely considered the reference implementation of both a parser and an evaluator is https://openingh.openstreetmap.de/evaluation_tool/
- The project should take generated data structures from https://github.com/simonpoole/OpeningHoursParser, a date and time and determine if the OH value indicates if the current state is open or not. It should further report non-grammar related errors.
- As a minimum the evaluator should evaluate all conditions that do not rely on external data and provide hooks for providing sunrise/sunset information and holidays.
- This project lends itself to test driven developement, in any case it is expected that test coverage be near 100%.
- External dependencies should be kept to a minimum.
- Improvements to the parser are welcome, but should not be the focus of the project.
- Implementation language should be Java 8, as it is expected that this will be used on Android, please do not use language features or libraris that are not supported on Androd.
- Code licence should be Apache 2.0, MIT or similar permissive licence, any dependencies used must have compatible licences. External information, that is potentially holiday configuration must be available on open terms and be a file level licence. In other words CC BY-SA would be OK, GPL not.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment