gispocoding / aukigo Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
Which spatial data format to use in the frontend?
Use tags opening_hours
and opening_hours:covid19
to determine the opening hours of the features.
Add "X" symbol to info pop up in the up-right corner.
Add some E2E tests using Cypress
Add a basic user interface with layer selection. Use material-ui for components
Add GPLv3 license to project and OpenStreetMap attribution to UI. You should use license from tilesets.
Suitable test frameworks should be investigated. The framework should be compatible with selected map library.
Also support for CI (#5) should be taken into account.
Improve the content displayed in popups when user clicks on map. Only the most important information (name, website, and others based on selected layer) should be displayed by default and no tag names should be visible in the default view.
Missing information should be handled without displaying undefined
. All information (tag names and values) should still be accessible from a toggle.
Currently aukigo frontend is not shown in fullscreen, meaning the bottom bar gets hidden under the phone's bottom menu bar. This could be fixed by displaying the webpage fullscreen.
Deciding which web mapping library/framework to use. As the frontend is built on the React web framework, possible React component compatibility also needs to be considered.
Main candidates are:
Pros:
Cons:
Pros:
Cons:
Add editorconfig for project.
Enhance styling and desing:
A decision needs to be made on what coordinate reference system(s) to support in the frontend application. A typical choice would be EPSG:3857 i.e. web mercator, which most global tilesets are served in. EPSG:3067 data is common in Finland and some data may be only be provided in EPSG:3067. Most regional-level spatial data in Finland is in ETRS-GKn, not suitable for country-wide data.
If the frontend uses web mercator (the most common choice in web mapping), data in other CRS must be converted to EPSG:3857 in the backend before serving it to the frontend. More on this issue in the covid19-map-backend repository.
Add support for multiple languages/translations with react-intl.
For simplicity only show features with point geometries on map. Lines and polygons should not be displayed.
Ghost points appear when no layer is selected.
Layer selector buttons don't have permanent inverted styling when clicked active. It could be done via radiobutton styling.
With selected technologies. Use Create React App and Material-UI and react-intl.
If using vector tiles, GeoJSON, or another vector format, styles need to be created for rendering features. This can be done either in-client by defining styles in JS, or possibly using a style generation tool. More research needs to be done on this if deciding to go with vector formats.
Search currently displayed vectortile layer(s) for features when user types a query into the search field. Display search suggestions in a dropdown, and zoom to selection if user clicks on a suggestion. Automatically zoom to first suggestion if user types a query and hits enter.
Display a popup when user clicks/taps on a vector feature on the map. The popup should contain some basic information about the feature, and an "additional information" tab that displays all of the attributes of the feature.
See if possible to register clicks/taps even if user misses the feature by a small margin to make clicking on narrow lines or small points easier.
Show vectortiles fetched from the backend on the map. Prerequisite for #15
Add functionality to layer selection buttons. Selected layer should be displayed (and old layer hidden) when user clicks on a button. Possibly add tooltips to buttons that display the layer name.
There should be a feature (maybe associated with the logo?) that brings the user back to the original bounding box. This makes the software feel "safer" when you can always find your way back to the known place.
Using maputnik.io. Related to #35
Feature style should be affected by opening hours so it's easy to distinct between open and closed/unknown locations.
Design a responsive mobile-first user interface for the application. Some ideas discussed in first meeting:
Custom colour scheme, animations and other possible eye-candy added after first functional draft version.
As mentioned in #60:
Issues remain with OL autopan not working correctly. Intended behaviour is to pan the map when a popup opens so it fits on screen. Currently the map is only panned after the second click on the feature and even that is not done reliably.
The position: absolute change on mobile displays in this PR probably also prevents autopanning from working, but it does not work even if not manually setting position.
Clicking on the settings button should open a menu popup with options.
Possible content:
Configure CI using Github Actions. Add at least job to run tests.
Implement changes made in css/style.css file to components
Design settings menu content
Related to #37
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.