shizuko-akamoto / trecipe Goto Github PK
View Code? Open in Web Editor NEWCPSC 436I Project (2020S)
CPSC 436I Project (2020S)
Story Points: 2
There is flash of unstyled content on the Trecipe logo. To be addressed in the future
Steps to reproduce:
Result: The logo has a different font-family for a brief moment.
Expected: The font family of the logo should remain the same
The gif is slowed down to make it more obvious:
Story Point: 1
Story Point: 3
Listing down some items that I didn't have time to address ¯\(ツ)/¯
To do list
(Bug) Refreshing the page on the Map or the Trecipe page will wipe all the destinations. To restore them, users will have to go back to My Trecipe page and reenter. Fixed in #94
(Bug) After adding a destination on the Trecipe page, the result drop down will close. No longer an issue
(Bug) On the map page, search for any place and click on them to add them to the destination cards list (there will be a tick to indicate that it has been added). Now click 'delete' on the destination card's menu. The result drop down on the search bar will still show the tick even though the destination is removed from the list Fixed by Shizuko
Long name and location do not bode well for the destination cards on the map page (rating bar shifted, checkmark is gone). Fixed, long name will not be truncated, rating bar will remain at the same location and checkmark is always displayed.
Update the static map's marker icon to match the markers on the map page Not possible :( Static map can contain up to 5 unique icons and we have 10 icons (5 categories and 2 colors), so we can either display completion status or categories. Currently displaying completion status
Update the search bar on header to use autocomplete service (check out the search bar on the map page) Addressed in search PR
check if google
is initialized before using them. example: if(google) let map = new google.maps.map()
It is possible to add duplicate destination for now, might have to change this Fixed by Shizuko
Adding location bias on map search might be a good idea
scrollIntoView() is not smooth on google chrome
Add a legend for marker colors #87 Done
scrollIntoView() on destination add is not working because it is using place id while destination card is using uuid
Optionals
Check if there is any unnecessary re-render on map, and see if using pure component improve performance. If pure component is used, ensure markers on the map is updated when a destination is added/updated
Responsive design. Currently, when the user resizes the window, the map will shrink until destination cards are left. On mobile, only destinations cards are visible. Maybe we could create a mobile UI where the map is always located on the top and the bottom half are the destination cards.
Use async and await to improve readability.
Improve the way we load google map script. <LoadScript>
is used to do lazy loading when we need any google map service. At the moment, we load the script once before loading any pages in between the header and footer. One improvement might be wrapping any elements that require google map service in <LoadScript>
, but this requires multiple api keys. Since our header has search bar (it always requires google autocomplete service), another good idea might be loading the script in index.html
, though this might slow down the page on the first load. Components that require map service:
Story Point: 1
Story point: 4
Story Point: 1
create an interactive map
zoom in/out functionalities
hover over each destination to see destination digest.
click to bring up the destination page
Story Points: 1
UX mockup:
(last updated on 5/28)
context_filters.pdf
Story Points: 2
The styling on enlarged cover photo popup needs to be fixed. And ideally it should use the Model
component and showModel
dispatch for consistency instead of keeping track of open/closed state internally.
Story Point: 1
UX mockup:
(Updated on 6/3/2020-slight change to shape of edit menu and its shadow)
TC_edit_menu.pdf
Story Point: 1
Story Points: 3
Search results page will show all three sets of result categories (Trecipe, Destinations, User)
Story Point: 2
Story Point: 1
Implement #57
Story Point: 1
UX mockup:
add_trecipe_popup.pdf
add_trecipe_popup2.pdf (contains mockup for disabled create button)
Story Points: 2
MyTrecipe, Trecipe, Map all needs user login first. So redirect if needed.
Consider creating redux store for user state.
Story Points: 2
Implement component for owner icon, and add collaborator button
Story Points: 2
The font size css property at the root element will be scaled using a percentage (1rem = 10px). The advantage of this approach is that it will still respect the user's browser default font setting and we no longer need to use a calculator to convert px into rem.
Story Points: 1
Story Point: 1
Related to #61
Story Points: 1 week :D
Story Point: 1
User is able to perform Delete and Duplicate Trecipe from the Map page. When the request for those action has been successfully completed, the user should be redirected to corresponding pages.
For delete => back to MyTrecipes page
For duplicate => to Map page of the newly created duplicate
Story Points: 3
Story Point: 2
Story Points: 2
Right now, out project has two major groups, tsx files and stylesheets. As we add more files and components, this kind of structure will be hard to maintain. A better approach would be something described in here: https://medium.com/@alexmngn/how-to-better-organize-your-react-applications-2fd3ea1920f1
Story Point: 0.5
If we can reuse the existing Button component, no need for this issue.
Story Point: 1
All the user specific trecipe routes require authentication,
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.