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 52685702c1 Merge pull request 'trent-tweaks' (#133) from trent-tweaks into qrcode-reboot 16 hours ago
.cursor/rules refactor: consolidate type system and improve documentation 24 hours ago
.github/workflows Playwright install 10 months ago
android refactor files that should be ignored 2 days ago
assets add documentation, especially for build processes 2 days ago
doc refactor: consolidate type system and improve documentation 24 hours ago
ios iOS photo library permission 17 hours ago
public add another sample boundary frame for the certificate view of a claim 5 months ago
scripts chore: update capacitor config and script paths 1 day ago
src Fix linting errors 17 hours ago
sw_scripts switch the encryption secret from localStorage to IndexedDB (because localStorage gets lost so often) 5 months ago
test-playwright refactor files that should be ignored 2 days ago
test-scripts rename app ID from app.timesafari.app to app.timesafari & adjust tests (Java 20 works) 2 months ago
.browserslistrc init 3 years ago
.env.development fix image server references for tests (2 tests failing: missing function & looking for registration prompt for unregistered user) 3 months ago
.env.example feat: Add environment variable support for DID registration 3 months ago
.env.production fix image server references for tests (2 tests failing: missing function & looking for registration prompt for unregistered user) 3 months ago
.env.staging fix image server references for tests (2 tests failing: missing function & looking for registration prompt for unregistered user) 3 months ago
.eslintrc.js fix: improve error handling in photo upload 1 month ago
.gitignore refactor files that should be ignored 2 days ago
BUILDING.md add documentation, especially for build processes 2 days ago
CHANGELOG.md Merge branch 'master' into deep_linking 2 months ago
CONTRIBUTING.md add recipient description to offers in user's list 9 months ago
Dockerfile style: improve code formatting and type safety 2 weeks ago
Gemfile feat: Add Fastlane configuration for mobile app deployment 2 months ago
Gemfile.lock feat(ios): enhance iOS test automation and fix dependencies 2 months ago
LICENSE add license file 5 months ago
README.md Merge branch 'qrcode-reboot' into trent-tweaks 16 hours ago
build.sh feature: adding Dockerfile for online testing or deployment to docker 4 weeks ago
capacitor.config.json chore: update capacitor config and script paths 1 day ago
index.html Safe area implementation for iOS 2 weeks ago
main.js refactor: reorganize Vite config into modular files 3 months ago
package-lock.json Merge branch 'qrcode-reboot' into trent-tweaks 16 hours ago
package.json bump version to match attempts in app stores 2 days ago
pkgx.yaml add a pod dependency to environment 2 days ago
playwright.config-local.ts refactor: improve feed loading and infinite scroll reliability 2 months 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. 5 months ago
postcss.config.js Adding Tailwind and start application views 3 years ago
project.task.yaml update ClickUp link to a public link 1 year ago
requirements.txt for test script: add requirements, fix endpoint, and add setup instructions 3 months 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 3 years ago
tsconfig.electron.json refactor(electron): improve build process and configuration 3 weeks ago
tsconfig.json feat: update TypeScript config for platform services 1 month ago
tsconfig.node.json refactor(electron): improve build process and configuration 3 weeks ago
vite.config.capacitor.mts refactor: reorganize Vite config into modular files 3 months ago
vite.config.common.mts fix(qr): improve QR scanner implementation and error handling 4 weeks ago
vite.config.dev.mts WIP: certificate view and dependency updates 3 months ago
vite.config.electron.mts refactor(electron): improve build process and configuration 3 weeks ago
vite.config.mts refactor: Replace console logging with logger utility 2 months ago
vite.config.pywebview.mts refactor: reorganize Vite config into modular files 3 months ago
vite.config.ts refactor: Replace console logging with logger utility 2 months ago
vite.config.utils.mts refactor: reorganize Vite config into modular files 3 months ago
vite.config.web.mts refactor: reorganize Vite config into modular files 3 months 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.

Tests

See TESTING.md for detailed test instructions.

Icons

Application icons are in the assets directory, processed by the capacitor-assets command.

To add a Font Awesome icon, add to main.ts and reference with font-awesome 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/",

Code Organization

The project uses a centralized approach to type definitions and interfaces:

  • src/interfaces/ - Contains all TypeScript interfaces and type definitions
    • deepLinks.ts - Deep linking type system and Zod validation schemas
    • give.ts - Give-related interfaces and type definitions
    • claims.ts - Claim-related interfaces and verifiable credentials
    • common.ts - Shared interfaces and utility types
    • Other domain-specific interface files

Key principles:

  • All interfaces and types are defined in the interfaces folder
  • Zod schemas are used for runtime validation and type generation
  • Domain-specific interfaces are separated into their own files
  • Common interfaces are shared through common.ts
  • Type definitions are generated from Zod schemas where possible

Kudos

Gifts make the world go 'round!