howlongistheline / howlongistheline.org Goto Github PK
View Code? Open in Web Editor NEWProblem: there are long lines for the supermarket during lockdown
License: Mozilla Public License 2.0
Problem: there are long lines for the supermarket during lockdown
License: Mozilla Public License 2.0
problem: can't share the status of a store
People want to be able to share the status of an individual store on facebook, but they can't.
problem: places and status are stored on same object. This means that when a status is updated it replaces the location object.
solution: store locations (shops etc) in its own collection.
problem: some stores have different capacity to others so the lines move at different speeds.
possible solution: add a capacity metric and allow users to add more fine grained details to now many people are in line
problem: stores do not have opening hours and there's no status for "store closed".
solution: allow people to add opening hours, get store time zone from location coordinates
@jimkleine @olliechick there is a group here: https://www.facebook.com/groups/1161156860891990/?fref=nf
Let me know if you join so I can add you as an admin.
problem: lines move at different speeds and this makes the same line numbers mean different things at different stores.
solution: allow users to add the number of checkouts available in store.
problem: location is updated after returning to / route from other views. This makes the user wait more than they really need.
solution: store users location for x minutes (5?) as a persistent variable and also add a manual refresh button.
problem: there's no preview on social media when sharing the site
problem: many coordinates are wrong (added incorrectly). This prevents other users from updating the status.
solution: instead of the toaster notification, send users to a view with:
Error: are you really at this location? It appears that either you are not at the shop, or we have the wrong coordinates for the shop.
If you are not at this shop right now: ask your friends on facebook etc to update this shop for you whenever they go.
If you are at this shop right now, please tap to reset the location.
Set the coordinates to the users coordinates, and append the existing coordinates to historical data.
When checking the users location matches the store, check historical coordinates too, and if any are a match let them update it.
There is a missing ">" on the </title> end tag.
solution: Fix typo
problem: people want to show off their additions and update stats
solution: implement user accounts so that stats can be tracked, create a basic profile page and profile ranking (based on additions and updates).
problem: people want to quickly find a particular store even if they are not nearby
solution: add favourites and render these at the top of the list or add a tab or something. User cookies or something so that sign in is not required.
The search field is becoming laggy, even on relatively capable devices e.g. iPad Air. Possibly related to:
An increasing number of stores in the DB vs the current Search bar behaviour of incrementally filtering candidates as you type (I'm seeing a lag in character display in the search bar); or
More client processing of live status updates during filtering (is the slider UI more intensive in this regard? Could status updates be deferred during active filtering?)
problem: people can't add things that are out of stock
People want to be able to add things that are out of stock but are unable to.
problem: not all members are public
This is a personal choice but it's usually a good idea for members of the github organisation public. It sets the tone for an open culture as more people start getting involved.
You can make yourself public by going to https://github.com/orgs/howlongistheline/people and changing the setting next to your name to public.
Anyone who contributes to the project should be invited to become a member of the organisation as it makes certain things easier (increased privileges etc). You can also see any pending invitations here: https://github.com/orgs/howlongistheline/people/pending_invitations
problem: people still adding duplicate stores
solution: when adding a new store, automatically search existing stores as the user types, and display it to the user.
Problem: users cannot add a status to an existing location
solution: detect users location and list nearest places, let them select from a list
Problem: project structure needs to improve
For example - in ui directory, pages and layout are in same directory.
Solution: we can update file structure and code structure to better understanding. also we can divide components in to separate files, so it can be reusable.
Also we can move client and server startup parts in imports.
problem: not showing exact numbers in line slider, while updating or done any movements on slider, it showing number of people after page refresh.
Solution: when need to change line, need to show slider position (in tooltip), with what will be result after updating.
problem: no validation on user location before updating status
solution: check that user is within x meters of the shop location before allowing them to make an update.
problem: users can't complain about app
solution: add a complaints/suggestion/feedback form
problem: fetching geolocation can be very slow
After submitting the data to add a new shop, the geolocation can take a long time.
Solution: fetch the location using async
upon loading the route. Use await
to show the user that the browser is trying to find their location in the background.
problem: there are many duplicate stores
solution: allow users to remove duplicate stores:
archived
collection.problem: some people are adding stores in the wrong location.
solution: when a user tries to update the line status but a location failure occurs, allow them to change the store coordinates to their current location.
We already have a modest international following, so we can no longer rely on being able to perform maintenance outside of NZ store trading hours. Can we use a GeoIP database or similar to automatically populate a store country field (to keep this low impact from the user's pespective)?
Great work, thanks for being the person who did something useful with an idea!
I'd love the ability to mark a few stores as favorites. To continue with the concept of not using logins, the favourite information can be stored in a cookie.
You would then need a way of doing something with the favourite info, such as making the favorites appear at the top of the list on first-open/if no location was searched for, or a tab/toggle to just show favourites.
Keep up the good work!
problem: search not implemented on /nearme
/nearme is a new view to refine all the good stuff from Index.jsx and also implement a new way of fetching data from mongodb (there are too many objects to just send everything to the client now).
This is intended to replace Index.jsx as the /
route when all the bugs are gone.
problem: no database backups being taken
The old UI coloured the queue status green/orange/red for a quick visual indication. I'm aware we are making somewhat arbitrary choices re queue depth at this point, but 0 should be green, 50+ should be red and we need to nominate "breakpoints" for green/orange and orange/red boundaries.
solution: Colour the queue description text ("There were nn people in line ...") and or slider control (the latter might be more tricky, since it is an interactive control).
I visited 4 local supermarkets (I'm a cyclist) this afternoon to update queues, add new stores and hand out posters to the door security staff. Using Firefox on Android. I was able to add two stores without issue (GetFresh Mangere and Countdown Mangere Town Centre), but I was refused access to update the queue status at the two existing stores (Pak n Save Mangere and Countdown Auckland Airport) "Are you really at this store?". I recorded decimal GPS locations for each of the two stores so that we can identify whether this is a bad data or a location logic problem:
The domain (only) cert is being served, even when the www URL is accessed. You should add www.howlongistheline.org to the LetsEncrypt cert as a Subject Alternate Name (SAN).
problem: when user has location disabled it fails without error
How to Add a Shop 101
Stay safe –
a. Wear a mask or homemade face covering if you are going out on foot. The science is in on masks they serve as a barrier to virus transmission.
b. You can add shops from the relative safety of your car – so don’t be afraid to drive up close to the entry in a loading zone to add the store. This should take a minute or two not much longer so you likely won’t have to worry about loading zone concerns.
Check to ensure your GPS on your browsers is enabled – this is usually in the privacy settings.
Only add shops if you are physically there – check the maps application on your phone google maps or apple maps to ensure that your device is pinging directly at the store.
a. Sometimes this may require a bit of patience depending on your signal and connection quality.
b. Copy and paste the address of the shop from your maps tool and load it into the table below the shop name on the shop submission page.
The app is programmed to detect around 100 meters of wherever the shop is added from.
a. This means if someone has added the shop from the other side of the parking lot – that original upload point is what is captured as the shop. So please add locations as close to the main door as possible.
problem: users can't upload pictures when updating the status.
solution: implement optional image upload on the status update view and use filestack.com (or whatever) to serve the images so that the server instance doesn't need to store any data.
We need to be careful that interface updates don't discard useful information.
problem: some people add duplicate stores because they don't notice that their store is already there.
solution: if the user is within 100 meters of an existing store, ask them the existing listing is the right one.
If location services are not enabled (or the browser's Share location? Request is denied), a pop-up appears ("Cant get the location ..."; message is missing the apostrophe). That behaviour is working correctly, but the animated "Getting your location" should hide itself at that point.
solution: Auto-hide "Getting your location" pane if location services are not available.
Possible Solution:
Upgrade kind-of to version 6.0.3 or later.
problem: no link to github
solution: since there's no real need for a side menu, just replace the menu with a tabbar (https://onsen.io/v2/api/react/Tabbar.html), add an icon for home, github, and feedback (from #31 )
Problem: users cannot add the address for a new location
solution: provide an option for users to add a new location (related to #5) if the location they are currently at is not listed. Ask them to paste in the full official address given on the store's website or google maps.
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.