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.
167 lines
4.0 KiB
167 lines
4.0 KiB
# Time Safari Platforms — Platform-Specific Considerations
|
|
|
|
> **Agent role**: Reference this file for platform-specific details when working
|
|
with TimeSafari development across different platforms.
|
|
|
|
## Platform-Specific Considerations
|
|
|
|
### Web (PWA)
|
|
|
|
- **QR Scanning**: WebInlineQRScanner
|
|
|
|
- **Deep Linking**: URL parameters
|
|
|
|
- **File System**: Limited browser APIs
|
|
|
|
- **Build**: `npm run build:web` (development build)
|
|
|
|
### Mobile (Capacitor)
|
|
|
|
- **QR Scanning**: @capacitor-mlkit/barcode-scanning
|
|
|
|
- **Deep Linking**: App URL open events
|
|
|
|
- **File System**: Capacitor Filesystem
|
|
|
|
- **Build**: `npm run build:capacitor`
|
|
|
|
### Desktop (Electron)
|
|
|
|
- **File System**: Node.js fs
|
|
|
|
- **Build**: `npm run build:electron`
|
|
|
|
- **Distribution**: AppImage, DEB, DMG packages
|
|
|
|
## Platform Compatibility Requirements
|
|
|
|
### Cross-Platform Features
|
|
|
|
- **Core functionality** must work identically across all platforms
|
|
|
|
- **Platform-specific enhancements** should be additive, not required
|
|
|
|
- **Fallback behavior** must be graceful when platform features unavailable
|
|
|
|
### Platform-Specific Capabilities
|
|
|
|
- **Web**: Browser APIs, PWA features, responsive design
|
|
|
|
- **Mobile**: Native device features, offline capability, app store compliance
|
|
|
|
- **Desktop**: File system access, system integration, native performance
|
|
|
|
## Build and Distribution
|
|
|
|
### Build Commands
|
|
|
|
```bash
|
|
|
|
# Web (development)
|
|
|
|
npm run build:web
|
|
|
|
# Mobile
|
|
|
|
npm run build:capacitor
|
|
npm run build:native
|
|
|
|
# Desktop
|
|
|
|
npm run build:electron
|
|
npm run build:electron:appimage
|
|
npm run build:electron:deb
|
|
npm run build:electron:dmg
|
|
|
|
```
|
|
|
|
### Testing Commands
|
|
|
|
```bash
|
|
|
|
# Web E2E
|
|
|
|
npm run test:web
|
|
|
|
# Mobile
|
|
|
|
npm run test:mobile
|
|
npm run test:android
|
|
npm run test:ios
|
|
|
|
# Type checking
|
|
|
|
npm run type-check
|
|
npm run lint-fix
|
|
|
|
```
|
|
|
|
## Key Constraints
|
|
|
|
1. **Privacy First**: User identifiers remain private except when explicitly
|
|
|
|
shared
|
|
|
|
2. **Platform Compatibility**: Features must work across all target platforms
|
|
|
|
3. **Performance**: Must remain performant on older/simpler devices
|
|
|
|
4. **Modern Architecture**: New features should use current platform services
|
|
|
|
5. **Offline Capability**: Key functionality should work offline when feasible
|
|
|
|
## Use Cases to Support
|
|
|
|
1. **Community Building**: Tools for finding others with shared interests
|
|
|
|
2. **Project Coordination**: Easy proposal and collaboration on projects
|
|
|
|
3. **Reputation Building**: Showcasing contributions and reliability
|
|
|
|
4. **Governance**: Facilitating decision-making and collective governance
|
|
|
|
## Resources
|
|
|
|
- **Testing**: `docs/migration-testing/`
|
|
|
|
- **Architecture**: `docs/architecture-decisions.md`
|
|
|
|
- **Build Context**: `docs/build-modernization-context.md`
|
|
|
|
---
|
|
|
|
**See also**:
|
|
|
|
- `.cursor/rules/app/timesafari.mdc` for core application context
|
|
- `.cursor/rules/app/timesafari_development.mdc` for
|
|
|
|
development workflow details
|
|
|
|
**Status**: Active platform guidelines
|
|
**Priority**: High
|
|
**Estimated Effort**: Ongoing reference
|
|
**Dependencies**: timesafari.mdc
|
|
**Stakeholders**: Development team, Platform teams
|
|
|
|
## Model Implementation Checklist
|
|
|
|
### Before Platform Development
|
|
|
|
- [ ] **Platform Analysis**: Identify all target platforms (web, mobile, desktop)
|
|
- [ ] **Feature Requirements**: Understand feature requirements across platforms
|
|
- [ ] **Platform Constraints**: Review platform-specific limitations and capabilities
|
|
- [ ] **Testing Strategy**: Plan testing approach for all target platforms
|
|
|
|
### During Platform Development
|
|
|
|
- [ ] **Cross-Platform Implementation**: Implement features across all platforms
|
|
- [ ] **Platform Services**: Use current platform services for new features
|
|
- [ ] **Performance Optimization**: Ensure performance on older/simpler devices
|
|
- [ ] **Offline Capability**: Implement offline functionality where feasible
|
|
|
|
### After Platform Development
|
|
|
|
- [ ] **Cross-Platform Testing**: Test functionality across all target platforms
|
|
- [ ] **Performance Validation**: Verify performance meets requirements
|
|
- [ ] **Documentation Update**: Update platform-specific documentation
|
|
- [ ] **Team Communication**: Share platform implementation results with team
|
|
|