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.
 
 
 
 
Trent Larson eabe2b9448 fix problem when going directly to people-map where the search results disappear 19 hours ago
.github/workflows Playwright install 7 months ago
android Merge branch 'master' into split_build_process 2 days ago
doc docs: add tlmgr font packages 7 months ago
ios Multi-build support; tested successfully for Electron 1 month ago
public add another sample boundary frame for the certificate view of a claim 2 months ago
scripts docs: update electron build instructions and fix electron asset paths 6 days ago
src fix problem when going directly to people-map where the search results disappear 19 hours ago
sw_scripts switch the encryption secret from localStorage to IndexedDB (because localStorage gets lost so often) 2 months ago
test-playwright wait for some elements before calling 'click' 1 day 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) 2 days ago
.env.production fix image server references for tests (2 tests failing: missing function & looking for registration prompt for unregistered user) 2 days ago
.env.staging fix image server references for tests (2 tests failing: missing function & looking for registration prompt for unregistered user) 2 days ago
.eslintrc.js disable checkboxes for nostr partner messages; adjust linting warnings 5 months ago
.gitignore chore: add new playwright test results to .gitignore 2 days ago
BUILDING.md add Discover query param searchPeople to go straight to people map 20 hours ago
CHANGELOG.md fix problem when going directly to people-map where the search results disappear 19 hours ago
CONTRIBUTING.md add recipient description to offers in user's list 6 months ago
LICENSE add license file 2 months ago
README.md Merge branch 'master' into split_build_process 2 days ago
capacitor.config.ts Android Capacitor configurations 1 month ago
index.html Initial stab at vitejs update 11 months 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 problem when going directly to people-map where the search results disappear 19 hours ago
package.json fix problem when going directly to people-map where the search results disappear 19 hours ago
playwright.config-local.ts enable remainder of the devices for full UI tests 2 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. 1 month ago
postcss.config.js Adding Tailwind and start application views 2 years ago
project.task.yaml update ClickUp link to a public link 10 months ago
requirements.txt fix: resolve nostr-tools typescript type conflicts 5 days 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 7 months ago
vite.config.mjs fix image server references for tests (2 tests failing: missing function & looking for registration prompt for unregistered user) 2 days ago
vite.config.utils.js Android Capacitor configurations 1 month ago
web-push.md doc: update tasks, update verbiage, and add to help doc 1 year 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 the test locations for "IMAGE_API_SERVER" or "PARTNER_API_SERVER" below, or use http://localhost:3000 for local endorser.ch

Build the test & production app

npm run serve

Lint and fix files

npm run lint

Run all UI tests

Look below for the "test-all" instructions.

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!