refactor documentation
This commit is contained in:
5
.gitignore
vendored
5
.gitignore
vendored
@@ -8,6 +8,7 @@ signature.bin
|
|||||||
# generated during `npm run build`
|
# generated during `npm run build`
|
||||||
sw_scripts-combined.js
|
sw_scripts-combined.js
|
||||||
*.pem
|
*.pem
|
||||||
|
tsconfig.node.tsbuildinfo
|
||||||
verified.txt
|
verified.txt
|
||||||
myenv
|
myenv
|
||||||
|
|
||||||
@@ -40,19 +41,15 @@ pnpm-debug.log*
|
|||||||
playwright-tests
|
playwright-tests
|
||||||
dist-electron-packages
|
dist-electron-packages
|
||||||
.ruby-version
|
.ruby-version
|
||||||
+.env
|
|
||||||
|
|
||||||
# Test files generated by scripts test-ios.js & test-android.js
|
# Test files generated by scripts test-ios.js & test-android.js
|
||||||
.generated/
|
.generated/
|
||||||
|
|
||||||
.env.default
|
|
||||||
vendor/
|
vendor/
|
||||||
|
|
||||||
# Build logs
|
|
||||||
build_logs/
|
build_logs/
|
||||||
|
|
||||||
# PWA icon files generated by capacitor-assets
|
# PWA icon files generated by capacitor-assets
|
||||||
icons
|
icons
|
||||||
|
|
||||||
|
|
||||||
android/app/src/main/res/
|
android/app/src/main/res/
|
||||||
36
README.md
36
README.md
@@ -3,49 +3,22 @@
|
|||||||
[Time Safari](https://timesafari.org/) allows people to ease into collaboration: start with expressions of gratitude
|
[Time Safari](https://timesafari.org/) 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.
|
and expand to crowd-fund with time & money, then record and see the impact of contributions.
|
||||||
|
|
||||||
## Database Migration Status
|
|
||||||
|
|
||||||
**Current Status**: The application is undergoing a migration from Dexie (IndexedDB) to SQLite using absurd-sql. This migration is in **Phase 2** with a well-defined migration fence in place.
|
|
||||||
|
|
||||||
### Migration Progress
|
|
||||||
- ✅ **SQLite Database Service**: Fully implemented with absurd-sql
|
|
||||||
- ✅ **Platform Service Layer**: Unified database interface across platforms
|
|
||||||
- ✅ **Settings Migration**: Core user settings transferred
|
|
||||||
- ✅ **Account Migration**: Identity and key management
|
|
||||||
- 🔄 **Contact Migration**: User contact data (via import interface)
|
|
||||||
- 📋 **Code Cleanup**: Remove unused Dexie imports
|
|
||||||
|
|
||||||
### Migration Fence
|
|
||||||
The migration is controlled by a **migration fence** that separates legacy Dexie code from the new SQLite implementation. See [Migration Fence Definition](doc/migration-fence-definition.md) for complete details.
|
|
||||||
|
|
||||||
**Key Points**:
|
|
||||||
- Legacy Dexie database is disabled by default (`USE_DEXIE_DB = false`)
|
|
||||||
- All database operations go through `PlatformService`
|
|
||||||
- Migration tools provide controlled access to both databases
|
|
||||||
- Clear separation between legacy and new code
|
|
||||||
|
|
||||||
### Migration Documentation
|
|
||||||
- [Migration Guide](doc/migration-to-wa-sqlite.md) - Complete migration process
|
|
||||||
- [Migration Fence Definition](doc/migration-fence-definition.md) - Fence boundaries and rules
|
|
||||||
- [Database Migration Guide](doc/database-migration-guide.md) - User-facing migration tools
|
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|
||||||
See [project.task.yaml](project.task.yaml) for current priorities.
|
See [ClickUp](https://sharing.clickup.com/9014278710/l/h/8cmnyhp-174/10573fec74e2ba0) for current priorities.
|
||||||
(Numbers at the beginning of lines are estimated hours. See [taskyaml.org](https://taskyaml.org/) for details.)
|
|
||||||
|
|
||||||
## Setup & Building
|
## Setup & Building
|
||||||
|
|
||||||
Quick start:
|
Quick start:
|
||||||
|
|
||||||
* For setup, we recommend [pkgx](https://pkgx.dev), which installs what you need (either automatically or with the `dev` command). Core dependencies are typescript & npm; when building for other platforms, you'll need other things such as those in the pkgx.yaml & BUILDING.md files.
|
* For setup, we recommend [pkgx](https://pkgx.dev), which installs what you need (either automatically or with the `dev` command). Core dependencies are typescript & npm; when building for other platforms, you'll need other things such as those in the pkgx.yaml & doc/BUILDING.md files.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm install
|
npm install
|
||||||
npm run dev
|
npm run dev
|
||||||
```
|
```
|
||||||
|
|
||||||
See [BUILDING.md](BUILDING.md) for more details.
|
See [BUILDING.md](doc/BUILDING.md) for more details.
|
||||||
|
|
||||||
## Tests
|
## Tests
|
||||||
|
|
||||||
@@ -97,9 +70,6 @@ The application uses a platform-agnostic database layer:
|
|||||||
|
|
||||||
**Development Guidelines**:
|
**Development Guidelines**:
|
||||||
- Always use `PlatformService` for database operations
|
- Always use `PlatformService` for database operations
|
||||||
- Never import Dexie directly in application code
|
|
||||||
- Test with `USE_DEXIE_DB = false` for new features
|
|
||||||
- Use migration tools for data transfer between systems
|
|
||||||
|
|
||||||
### Kudos
|
### Kudos
|
||||||
|
|
||||||
|
|||||||
@@ -11,17 +11,6 @@ For a quick dev environment setup, use [pkgx](https://pkgx.dev).
|
|||||||
- Git
|
- Git
|
||||||
- For desktop builds: Additional build tools based on your OS
|
- For desktop builds: Additional build tools based on your OS
|
||||||
|
|
||||||
## Forks
|
|
||||||
|
|
||||||
If you have forked this to make your own app, you'll want to customize the iOS & Android files. You can either edit existing ones, or you can remove the `ios` and `android` directories and regenerate them before the `npx cap sync` step in each setup.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npx cap add android
|
|
||||||
npx cap add ios
|
|
||||||
```
|
|
||||||
|
|
||||||
You'll also want to edit the deep link configuration (see below).
|
|
||||||
|
|
||||||
## Initial Setup
|
## Initial Setup
|
||||||
|
|
||||||
Install dependencies:
|
Install dependencies:
|
||||||
@@ -479,3 +468,12 @@ You must add the following intent filter to the `android/app/src/main/AndroidMan
|
|||||||
```
|
```
|
||||||
|
|
||||||
... though when we tried that most recently it failed to 'build' the APK with: http(s) scheme and host attribute are missing, but are required for Android App Links [AppLinkUrlError]
|
... though when we tried that most recently it failed to 'build' the APK with: http(s) scheme and host attribute are missing, but are required for Android App Links [AppLinkUrlError]
|
||||||
|
|
||||||
|
## Forks
|
||||||
|
|
||||||
|
If you have forked this to make your own app, you'll want to customize the iOS & Android files. You can either edit existing ones, or you can remove the `ios` and `android` directories and regenerate them before the `npx cap sync` step in each setup.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx cap add android
|
||||||
|
npx cap add ios
|
||||||
|
```
|
||||||
@@ -27,6 +27,32 @@ The Database Migration feature allows you to compare and migrate data between De
|
|||||||
- Clear success and error messaging
|
- Clear success and error messaging
|
||||||
- Export functionality for comparison data
|
- Export functionality for comparison data
|
||||||
|
|
||||||
|
## Database Migration Status
|
||||||
|
|
||||||
|
**Current Status**: The application is undergoing a migration from Dexie (IndexedDB) to SQLite using absurd-sql. This migration is in **Phase 2** with a well-defined migration fence in place.
|
||||||
|
|
||||||
|
### Migration Progress
|
||||||
|
- ✅ **SQLite Database Service**: Fully implemented with absurd-sql
|
||||||
|
- ✅ **Platform Service Layer**: Unified database interface across platforms
|
||||||
|
- ✅ **Settings Migration**: Core user settings transferred
|
||||||
|
- ✅ **Account Migration**: Identity and key management
|
||||||
|
- 🔄 **Contact Migration**: User contact data (via import interface)
|
||||||
|
- 📋 **Code Cleanup**: Remove unused Dexie imports
|
||||||
|
|
||||||
|
### Migration Fence
|
||||||
|
The migration is controlled by a **migration fence** that separates legacy Dexie code from the new SQLite implementation. See [Migration Fence Definition](doc/migration-fence-definition.md) for complete details.
|
||||||
|
|
||||||
|
**Key Points**:
|
||||||
|
- Legacy Dexie database is disabled by default (`USE_DEXIE_DB = false`)
|
||||||
|
- All database operations go through `PlatformService`
|
||||||
|
- Migration tools provide controlled access to both databases
|
||||||
|
- Clear separation between legacy and new code
|
||||||
|
|
||||||
|
### Migration Documentation
|
||||||
|
- [Migration Guide](doc/migration-to-wa-sqlite.md) - Complete migration process
|
||||||
|
- [Migration Fence Definition](doc/migration-fence-definition.md) - Fence boundaries and rules
|
||||||
|
- [Database Migration Guide](doc/database-migration-guide.md) - User-facing migration tools
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
### Enable Dexie Database
|
### Enable Dexie Database
|
||||||
|
|||||||
Reference in New Issue
Block a user