Hello everyone! In my previous diary entry, I discussed a brief of my project. Now, as the first phase is over, I would like to make an update of my project, “Nominatim Feedback Reporter”, which is under development.
The source code can be found in the following GitHub repository: https://github.com/darkshredder/nominatim-feedback-reporter/ It also contains a README.md file for the instructions to install the project for local setup.
We have a development server up and running, which contains the following things:
In this section, I will talk more about the code, how it is structured and implemented.
We are currently using svelte as a frontend framework. The code structure is as below:
We use component-based code structure for reusability, Bootstrap for layout styling, Leaflet for map interaction, Mocha to run tests. We have added integration tests to thoroughly test the flow of our website rather than unit testing for mainly testing the UI components.
Here are some screenshots from the UI we have made up to now. It still needs some tweaking of the wordings and changes in UI/UX.
As there are a lot of pages for the flow of the website. I would recommend trying it out from here: https://gsoc2021-feedback.nominatim.org/feedback/
We are using Falcon as our backend framework for creating API. The code structure is based on MVC architecture, although we are not using models as our data are stored in log files in YAML format instead of databases. The code structure is as below:
For testing our backend, we are unit tests through pytest.
The example of the file stored in YAML format can be found as below:
Here is a list of things that need to be done in the second part of this project:
I want to express my gratitude to my mentors: Marc Tobias (mtmail) and Sarah Hoffmann (lonvia) who helped me throughout the process. We had weekly calls for discussing the entire flow of the website and project progress. I would also like to give my special thanks to Marc Tobias for providing me with the right direction for every week through a proper timeline and helping me set up the development server, which accelerated progress through quick feedback.