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.
 
 
 
trentlarson 8849e8806a Merge pull request 'allow changing the units being given' (#90) from other-units into master 11 months ago
public remove old texture image that's been replaced 1 year ago
src Merge branch 'master' into other-units 11 months ago
sw_scripts don't show non-message to user; fix API server setting; misc doc & task stuff 11 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 11 months ago
README.md Merge branch 'master' of ssh://173.199.124.46:222/trent_larson/crowd-funder-for-time-pwa 11 months ago
babel.config.js init 2 years ago
openssl_signing_console.rst update the script commands for JWT signature generation & validation 12 months ago
openssl_signing_console.sh fix: update openssl script according to new info 12 months ago
package-lock.json add Claim view for details about a specific server record 11 months ago
package.json add Claim view for details about a specific server record 11 months ago
postcss.config.js Adding Tailwind and start application views 2 years ago
project.task.yaml add ability to confirm a claim 11 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 push server URL in Advanced settings on the account page, and install Time Safari & push server 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 site. (In Chrome, go to chrome://settings/cookies and "all site data and permissions"; in Firefox, go to about:preferences and search for cache.)
  • 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).
  • Clear Cache Storage (in Chrome, in dev tools under Application; in Firefox, in dev tools under Storage).

Other

Reference Material

Kudos

Gifts make the world go 'round!