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.
 
 
 
 
 
Matthew Raymer c760385dcf fix: improve DeepLinkErrorView code quality 15 hours ago
.github/workflows Playwright install 8 months ago
android remove file that should not be committed 3 days ago
doc docs: add tlmgr font packages 8 months ago
docs docs: add comprehensive deep linking documentation 3 weeks ago
public add another sample boundary frame for the certificate view of a claim 3 months ago
scripts feat(ios-testing): Enhance deeplink testing and error handling 16 hours ago
src fix: improve DeepLinkErrorView code quality 15 hours ago
sw_scripts switch the encryption secret from localStorage to IndexedDB (because localStorage gets lost so often) 3 months ago
test-playwright tweak tests for clarity 3 weeks ago
test-scripts rename app ID from app.timesafari.app to app.timesafari & adjust tests (Java 20 works) 4 days ago
.browserslistrc init 2 years ago
.env.development fix image server references for tests (2 tests failing: missing function & looking for registration prompt for unregistered user) 1 month ago
.env.example feat: Add environment variable support for DID registration 2 weeks ago
.env.production fix image server references for tests (2 tests failing: missing function & looking for registration prompt for unregistered user) 1 month ago
.env.staging fix image server references for tests (2 tests failing: missing function & looking for registration prompt for unregistered user) 1 month ago
.eslintrc.js style: reorder v-model and v-bind directives 3 weeks ago
.gitignore feat: Add comprehensive Android test logging and build tracking 1 week ago
BUILDING.md consolidate mobile build instructions, moving config afterward 4 days ago
CHANGELOG.md Merge branch 'master' into deep_linking 1 week ago
CONTRIBUTING.md add recipient description to offers in user's list 7 months ago
Gemfile feat: Add Fastlane configuration for mobile app deployment 1 week ago
Gemfile.lock feat(ios): enhance iOS test automation and fix dependencies 7 days ago
LICENSE add license file 3 months ago
README.md Merge branch 'master' into deep_linking 1 week ago
capacitor.config.ts fix: improve DeepLinkErrorView code quality 15 hours ago
index.html feat(mobile): add deep linking support for Capacitor apps 4 weeks ago
main.js refactor: reorganize Vite config into modular files 1 month 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 fix: improve DeepLinkErrorView code quality 15 hours ago
package.json fix app build name & add pkgx config 4 days ago
pkgx.yaml fix app build name & add pkgx config 4 days ago
playwright.config-local.ts add back Chrome & Mobile Safari for testing 4 days ago
playwright.config.ts Refatored vite.config to be a bit more streamlined before adding alternate build options. This did end up requiring me to remove @ from imports for some reason. Tests came out fine. 2 months ago
postcss.config.js Adding Tailwind and start application views 2 years ago
project.task.yaml update ClickUp link to a public link 11 months ago
requirements.txt for test script: add requirements, fix endpoint, and add setup instructions 2 weeks ago
sw_combine.js combine all service-worker scripts into a single file to try and ensure included scripts aren't lost 1 year ago
tailwind.config.js Fix config 2 years ago
tsconfig.json Updated test directory 8 months ago
vite.config.capacitor.mts refactor: reorganize Vite config into modular files 1 month ago
vite.config.common.mts style: reorder v-model and v-bind directives 3 weeks ago
vite.config.dev.mts WIP: certificate view and dependency updates 4 weeks ago
vite.config.electron.mts refactor: reorganize Vite config into modular files 1 month ago
vite.config.mts refactor: Replace console logging with logger utility 1 week ago
vite.config.pywebview.mts refactor: reorganize Vite config into modular files 1 month ago
vite.config.ts refactor: Replace console logging with logger utility 1 week ago
vite.config.utils.mts refactor: reorganize Vite config into modular files 1 month ago
vite.config.web.mts refactor: reorganize Vite config into modular files 1 month ago
web-push.md refactor: reorganize deep linking types and interfaces 3 weeks ago

README.md

TimeSafari.app - Crowd-Funder for Time - PWA

Time Safari allows people to ease into collaboration: start with expressions of gratitude and expand to crowd-fund with time & money, then record and see the impact of contributions.

Roadmap

See project.task.yaml for current priorities. (Numbers at the beginning of lines are estimated hours. See taskyaml.org for details.)

Setup & Building

Quick start:

npm install
npm run dev

See BUILDING.md for more details.

See the test locations for "IMAGE_API_SERVER" or "PARTNER_API_SERVER" below, or use http://localhost:3000 for local endorser.ch

Run all UI tests

Look at BUILDING.md for the "test-all" instructions and TESTING.md for more details.

Compile and minify for test & production

  • If there are DB changes: before updating the test server, open browser(s) with current version to test DB migrations.

  • npx prettier --write ./sw_scripts/

  • Update the ClickUp tasks & CHANGELOG.md & the version in package.json, run npm install.

  • Commit everything (since the commit hash is used the app).

  • Put the commit hash in the changelog (which will help you remember to bump the version later).

  • Tag with the new version, online or git tag 0.3.55 && git push origin 0.3.55.

  • For test, build the app (because test server is not yet set up to build):

TIME_SAFARI_APP_TITLE="TimeSafari_Test" VITE_APP_SERVER=https://test.timesafari.app VITE_BVC_MEETUPS_PROJECT_CLAIM_ID=https://endorser.ch/entity/01HWE8FWHQ1YGP7GFZYYPS272F VITE_DEFAULT_ENDORSER_API_SERVER=https://test-api.endorser.ch VITE_DEFAULT_IMAGE_API_SERVER=https://test-image-api.timesafari.app VITE_DEFAULT_PARTNER_API_SERVER=https://test-partner-api.endorser.ch VITE_PASSKEYS_ENABLED=true npm run build

... and transfer to the test server:

rsync -azvu -e "ssh -i ~/.ssh/..." dist ubuntutest@test.timesafari.app:time-safari

(Let's replace that with a .env.development or .env.staging file.)

(Note: The test BVC_MEETUPS_PROJECT_CLAIM_ID does not resolve as a URL because it's only in the test DB and the prod redirect won't redirect there.)

  • For prod, get on the server and run the correct build:

    ... and log onto the server:

    • pkgx +npm sh

    • cd crowd-funder-for-time-pwa && git checkout master && git pull && git checkout 0.3.55 && npm install && npm run build && cd -

    (The plain npm run build uses the .env.production file.)

  • Back up the time-safari/dist folder & deploy: mv time-safari/dist time-safari-dist-prev.0 && mv crowd-funder-for-time-pwa/dist time-safari/

  • Record the new hash in the changelog. Edit package.json to increment version & add "-beta", npm install, and commit. Also record what version is on production.

Tests

See TESTING.md for detailed test instructions.

Icons

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

Other

Reference Material

  • Notifications can be type of toast (self-dismiss), info, success, warning, and danger. They are done via notiwind and set up in App.vue.

  • Customize Vue configuration.

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

Kudos

Gifts make the world go 'round!