rtercias / foreign-field Goto Github PK
View Code? Open in Web Editor NEWTerritory app for foreign language field
Home Page: https://www.foreignfield.com
Territory app for foreign language field
Home Page: https://www.foreignfield.com
Starting Component: AddressCard
Using service workers, auto-update H2H status without having to refresh the page.
This involves calling the vuex action “address/fetchAddress”, and rendering the updated address data on the card via a service worker.
https://developers.google.com/web/fundamentals/primers/service-workers
For non-active addresses, add a toggle button to “activate” the address. This should change the status to “Active”, and remove the corresponding “tag” in the notes field.
needs a corresponding tag... "moved"
Allow "canWrite" users (see auth vuex module) to change the order of addresses.
Starting component: Territory.vue
Similar to the google maps link, add a new whitepages link to the AddressCard.
The link should look like this:
https://www.whitepages.com/address/315-W-Palisade-Ave/Englewood-NJ
Starting component: new
Create a component listing all DNC address status across all territories. Each address on the list should have a link to the corresponding territory in which the inactive address can be found.
The link for Do Not Call list should be added on the Welcome screen.
The link should be made available only to user roles GO (group overseer) and SO (service overseer).
Starting component: Welcome
Sometimes users share a territory link with one another. Currently, that link is only available to the recipient via text message. When a user visits a territory link that's not checked out to them, we can save that link into their local storage.
Then, on the Welcome dashboard, we can display the links in a "Recently Visited" list.
"Recent" = 2 months long
Links older than 2 months can be dropped off the list.
Stories
Dashboard for service overseer.
Add to the Welcome Dashboard page:
summary of Available, Checked Out, Recently Worked, and All territories
S-13 page
count of addresses per territory
most/least checked out territories
Add manifest file to the app
Follow the instructions on this link to convert the app to a progressive web app:
https://blog.heroku.com/how-to-make-progressive-web-app
Also see linked stories in this epic.
Starting component: new
This report should contain a list of administrative changes made to the territory in the past X days:
X = any given number of days
Addresses:
Territories:
Make this report available in Welcome component
In the single Territory page, there's a "Reset" button, change the reset button behavior so that it also does a "check-in" of the territory.
Also, rename the button to "Check-in"
This applies to both H2H Activities panel and Address Tags panel.
Optimize addresses in a territory starting from the user's current location.
This is a temporary re-order and should not be saved in the database.
https://openrouteservice.org/dev/#/api-docs/optimization/post
Limitation:
Optimization (50 requests per day @10 requests per minute)
Starting Component: Territory.vue
By default, Territory.vue shows "Active" addresses only.
Add a toggle so that non-Active addresses can be viewed/editied.
The options can be Active, Do Not Calls, Not [Language]
This feature should only be available to the territory servant, group overseers, service overseers, and admin.
Bump up the app’s version number after code is pushed to master.
Use this library: https://github.com/release-it/release-it
In the single Territory view, add a toggle that switches between the current address list view and a map view.
Map view needs to be created using OpenStreetMaps (avoid Google as it is not free).
For non-touchscreens only, add a click event handler for the vertical ellipsis (three vertical dots) button.
This click handler should replicate the swipe-left action on handheld devices.
Design what offline mode could look like.
Use service workers to handle offline mode actions.
https://developers.google.com/web/fundamentals/codelabs/offline
https://developers.google.com/web/fundamentals/primers/service-workers
On the Masthead and on the Welcome dashboard, we need a quick nav to switch between territories.
Starting component: AddressForm
Wrap AddressForm inside a wizard form.
Wireframe:
https://www.draw.io/#G1i-W6x4fM1fCenLXyac1Xl-wo-a59fZ5w
Wizard Form #1 - Address Form
Wizard Form #2 - Select territory workflow
Using Leaflet, plot current address on a map
Also plot nearby addresses as Territory clusters
Additionally, create a dropdown to manually select a territory
Submit the new address
Wizard Form #3 - Finalize
need a UI similar to Notes, but for each territory. The interface should be similary.
Starting component: Territory.vue
Create a new component similar to AddressCard that supports drag-n-drop. When the territory is in "optimize" or "manual sort" mode, render this new component.
Trigger "manual sort" via the menu. This trigger should only be available to the territory servant or admin.
Wireframe:
https://drive.google.com/file/d/1HHyQbEKh9Pb1oyLT7G-XzJ15ZnXHWuLk/view?usp=sharing
Check out:
https://github.com/SortableJS/Vue.Draggable
Provide the ability to add more user groups, and/or edit existing ones. It's time to create a Territory Groups table.'
Includes schema change: new table with group name, id, overseer
https://drive.google.com/file/d/1nvKWCzB3xAYykE4L8zmYmMWRDqn8jniO/view
Here's a list of predefined Address tags/notes:
use 3rd party city/state/country api service
Design an icon for the app, and add different flavors needed for PWA.
https://vaadin.com/docs/v14/flow/pwa/tutorial-pwa-icons.html
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.