-
Notifications
You must be signed in to change notification settings - Fork 29
Yaohan_Xu_Yellowstone_National_Park #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Hey @YaohanXu, this is pretty great. Some things I notice in particular: Overall responsiveness -- The general interactive aspects of the project work very well. I like how you even attend to the details, like if I enter a search term and then toggle back and forth between "By POI Name" and "By Subcategory", the POI list gets filtered appropriately. Saving the canvas -- I think it's a pretty clever idea to allow the user to save an image of their itinerary. The map -- I think you chose good colors that work well together, and the light base tiles are a good choice too. Because on slightly narrower screens, or windows that aren't entirely maximized, the poi-type buttons will overlap the map data, I might recommend calculating the width of the poi-type buttons and using the that width as the right-side padding when resetting the map view. You'd have to find some way to communicate the width to the map component, but really that might be a case where reaching across the component boundary would be fine. So maybe these lines could become something like: ...
const padding = mapWidth * 0.05;
const rightPadding = document.querySelector('#poi-type').clientWidth;
const panDistance = mapWidth * 0.08;
if (boundaryLayer && boundaryLayer.getBounds().isValid()) {
map.fitBounds(boundaryLayer.getBounds(), {
paddingTopLeft: [padding, padding],
paddingBottomRight: [rightPadding, padding],
// animate: false,
});
... Though there are certainly cleaner ways to get the padding size without having to violate the component's boundaries like that. Layout on small screens -- I was surprised that the general layout didn't look too bad on mobile screens, even without the use of any The map isn't visible on mobile, but that's not necessarily a bad thing. There are certainly some things that could be tweaked on a small screen, e.g.:
Commits -- I like that you're committing in small chunks and you have frequent commits, but note that git is already going to record the time that you make a commit, so you could add more retrospectively helpful content into your messages. |
This project is a dashboard designed for visitors to Yellowstone National Park.
It not only provides basic information about the location, name, type, subcategory, and estimated travel time of each POI, but it also allows visitors to select their preferred POIs and plan their trips.
The interactive logic is as follows:
For the POI list, users can filter the POI list based on three criteria:
For selected POIs, users can select or deselect their preferred POIs in two ways:
For the daily trip schedule chart, it roughly shows the total estimated travel time based on the user's selected POIs (see the “pois_chart.js” file for more details).
The chart is updated whenever a user selects or deselects a POI.
Users can also reset the selected POI list or save the schedule chart as an image using the buttons below.