You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
anomalist 7f0d10d93d Merge branch 'master' into sw-cleanup 12 months ago
public remove old texture image that's been replaced 1 year ago
src Merge branch 'master' into sw-cleanup 12 months ago
sw_scripts don't show non-message to user; fix API server setting; misc doc & task stuff 12 months ago
.browserslistrc init 2 years ago
.eslintrc.js In transition ... experimenting 2 years ago
.gitignore Some updates and nudging toward notification ui 1 year ago
CHANGELOG.md more commentary, including for blank values for the user 12 months ago
README.md Merge branch 'master' into sw-cleanup 12 months ago
babel.config.js init 2 years ago
openssl_signing_console.rst update the script commands for JWT signature generation & validation 1 year ago
openssl_signing_console.sh fix: update openssl script according to new info 1 year ago
package-lock.json update name of the app, and update version to 0.1.4 1 year ago
package.json Small package update 12 months ago
postcss.config.js Adding Tailwind and start application views 2 years ago
project.task.yaml add more tasks for notifications work 12 months ago
tailwind.config.js Fix config 2 years ago
tsconfig.json fix the last of the type annotations (still have to fix no-explicit-any warnings) 1 year ago
vue.config.js A few missing configurations 12 months ago
web-push.md doc: add a guess for the states of the notifications 1 year ago

README.md

TimeSafari.app - Crowd-Funder for Time - PWA

Project setup

We have pkgx.dev set up in package.json, so you can use dev to set up the dev environment.

npm install

Compiles and hot-reloads for development

npm run serve

Lints and fixes files

npm run lint

Compiles and minifies for production

If you are deploying in a subdirectory, add it to publicPath in vue.config.js, eg: publicPath: "/app/time-tracker/",

npm run build
npx prettier --write ./sw_scripts/

to make sure the service worker scripts are in proper form

... then copy the contents of the sw_scripts folder to the dist folder - except additional_scripts.js.

Tests

Register new user on test server

On the test server, User #0 has rights to register others, so you can start playing one of two ways:

  • Import the keys for the test User did:ethr:0x0000694B58C2cC69658993A90D3840C560f2F51F by importing this seed phrase: rigid shrug mobile smart veteran half all pond toilet brave review universe ship congress found yard skate elite apology jar uniform subway slender luggage (Other test users are found here.)

  • Alternatively, register someone else under User #0 automatically:

    • In the src/views/AccountViewView.vue file, uncomment the lines referring to "testServerRegisterUser".

    • Visit the /account page.

Create multiple identifiers

Under the "Your Identity" screen, click "Advanced", click "Switch Identity / No Identity", then "Add Another Identity...".

Create keys with alternate tools

This page is a tool to create a JWT from a locally-generated keypair.

Web-push

For your own web-push tests, change the 'vapid' URL in App.vue, and install apps on the same domain.

Icons

To add an icon, add to main.ts and reference with fa element and icon attribute with the hyphenated name.

Manual walk-through

  • Clear the browser cache for localhost for a new user.
    • See that it's using the test API.
    • On each page, verify the messaging.
    • On the home page, see the feed without names, and see a message prompting to generate an ID.
    • On the discovery page, check that they can see projects, and set a search area to see projects nearby.
  • As User #0 in another browser on the test API, add a give & a project. (See User #0 details above.)
    • With the new user on the home page, see the feed that shows User #0 in network but without the name.
  • As the new user on the contacts page, add User #0 as a contact.
    • On the home page, see the feed that shows User #0 with a name.
  • Generate an ID.
    • On the home page, check that it now prompts them to get registered.
    • On the account page, check that they see messages on limits.
  • Register the ID from User #0.
    • As the new user on the home page, check that they can now record a gift.
    • On the contacts page, check that they cannot register someone else yet.
  • Walk through the functions on each page.

Scenarios

  • Create a new identity as prompted. Go to "Your Identity" screen and copy the ID to the clipboard.

  • Go back to /start and import test User did:ethr:0x000Ee5654b9742f6Fe18ea970e32b97ee2247B51 with this this seed phrase: rigid shrug mobile smart veteran half all pond toilet brave review universe ship congress found yard skate elite apology jar uniform subway slender luggage (Other test users are found here.)

  • Go to "Your Contacts" screen and add the ID you copied to the clipboard, and hit "+" to add them.

  • Click on the "Registration Unknown" button and register that person to be able to make claims as them.

Clear/Reset data & restart

  • Clear cache for localhost.
  • Unregister service worker (in Chrome, go to chrome://serviceworker-internals/; in Firefox, go to about:serviceworkers or about:debugging).
  • Clear notification permission (in Chrome, go to chrome://settings/content/notifications; in Firefox, go to about:preferences and search).

Other

Reference Material

Kudos

Gifts make the world go 'round!