forked from jsnbuchanan/crowd-funder-for-time-pwa
Time Tracking Integration: Add mandatory timing steps and performance analysis Performance Targets: Include realistic complexity-based duration estimates Quality Gates: Require time data in commits and performance comparison Project Estimates: Update to 2-3 weeks based on actual performance data Time: 15 minutes | Complexity: Simple | Issues: None Testing: Manual | Validation: Template review complete
140 lines
4.0 KiB
Markdown
140 lines
4.0 KiB
Markdown
# TimeSafari Commit Message Template with Time Tracking
|
|
|
|
## Migration Commit Template
|
|
|
|
```
|
|
[Component]: Complete Enhanced Triple Migration Pattern (X minutes)
|
|
|
|
Database Migration: Replace databaseUtil with PlatformServiceMixin
|
|
SQL Abstraction: Use $contacts(), $settings(), $platformService methods
|
|
Notification Migration: Add X constants, migrate X $notify calls to helpers
|
|
Template Optimization: Extract X computed properties, reduce complexity
|
|
|
|
Time: X minutes | Complexity: [Simple/Medium/Complex] | Issues: [None/List]
|
|
Testing: [Manual/Automated/Required] | Validation: [Script passed/Manual check]
|
|
```
|
|
|
|
## Real Examples from Recent Work
|
|
|
|
### PhotoDialog + OfferDialog (58 minutes each)
|
|
```
|
|
Complete Enhanced Triple Migration Pattern for PhotoDialog and OfferDialog (116 minutes)
|
|
|
|
Database Migration: Replace databaseUtil with PlatformServiceMixin
|
|
SQL Abstraction: Use $accountSettings() for settings retrieval
|
|
Notification Migration: Add 15 constants, migrate 15 $notify calls to helpers
|
|
Template Optimization: Extract 11 computed properties, reduce template complexity
|
|
|
|
Time: 116 minutes | Complexity: Medium | Issues: None
|
|
Testing: Manual | Validation: Script passed
|
|
```
|
|
|
|
### ProjectsView (17 minutes)
|
|
```
|
|
Complete ProjectsView Triple Migration Pattern with literal extraction (17 minutes)
|
|
|
|
Database Migration: Replace databaseUtil with PlatformServiceMixin
|
|
SQL Abstraction: Use $contacts(), $projects() methods
|
|
Notification Migration: Add 1 constant, migrate 1 $notify call
|
|
Template Optimization: Extract 3 computed properties
|
|
|
|
Time: 17 minutes | Complexity: Simple | Issues: None
|
|
Testing: Automated | Validation: Script passed
|
|
```
|
|
|
|
## Batch Migration Template
|
|
|
|
```
|
|
Complete notification migration across X components (Y minutes)
|
|
|
|
Components: [List of components]
|
|
- Add X centralized notification constants
|
|
- Migrate X $notify calls to helper methods
|
|
- Standardize timeout usage with TIMEOUTS constants
|
|
|
|
Time: Y minutes | Avg per component: Z minutes | Complexity: Batch
|
|
Testing: Automated | Validation: Script passed
|
|
```
|
|
|
|
## Time Tracking Workflow
|
|
|
|
### 1. Start Migration
|
|
```bash
|
|
./scripts/time-migration.sh ComponentName.vue start
|
|
```
|
|
|
|
### 2. Complete Migration
|
|
```bash
|
|
./scripts/time-migration.sh ComponentName.vue end
|
|
```
|
|
|
|
### 3. Daily Summary
|
|
```bash
|
|
./scripts/daily-migration-summary.sh
|
|
```
|
|
|
|
### 4. Commit with Time Data
|
|
```bash
|
|
git commit -m "Complete ComponentName migration (X minutes)
|
|
|
|
Database Migration: Replace databaseUtil with PlatformServiceMixin
|
|
Notification Migration: Add X constants, migrate X $notify calls
|
|
Template Optimization: Extract X computed properties
|
|
|
|
Time: X minutes | Complexity: [Level] | Issues: [None/List]
|
|
Testing: [Status] | Validation: [Status]"
|
|
```
|
|
|
|
## Time Complexity Guidelines
|
|
|
|
### Simple Components (15-20 minutes)
|
|
- Dialog components with minimal database operations
|
|
- Utility components with few notifications
|
|
- Example: UserNameDialog, TopMessage
|
|
|
|
### Medium Components (30-45 minutes)
|
|
- Standard view components with moderate database usage
|
|
- Multiple notification patterns
|
|
- Example: ProjectsView, ContactsView
|
|
|
|
### Complex Components (45-60 minutes)
|
|
- Large view components with extensive database operations
|
|
- Many notification patterns and complex templates
|
|
- Example: PhotoDialog, OfferDialog, ConfirmGiftView
|
|
|
|
## Performance Tracking
|
|
|
|
### Daily Targets
|
|
- **Simple Components**: 20+ per day
|
|
- **Medium Components**: 8-12 per day
|
|
- **Complex Components**: 4-8 per day
|
|
|
|
### Weekly Targets
|
|
- **Week 1**: 25 components (mix of simple/medium)
|
|
- **Week 2**: 30 components (focus on complex)
|
|
- **Week 3**: 37 components (remaining)
|
|
|
|
### Quality Gates
|
|
- [ ] Start time logged
|
|
- [ ] End time logged
|
|
- [ ] Validation script passed
|
|
- [ ] Linting passed
|
|
- [ ] Commit includes time data
|
|
- [ ] Daily summary updated
|
|
|
|
## Efficiency Tips
|
|
|
|
### Batch Processing
|
|
- Group similar components
|
|
- Reuse notification constants
|
|
- Copy/paste helper patterns
|
|
|
|
### Templates and Automation
|
|
- Use migration checklist
|
|
- Standardize computed property patterns
|
|
- Validate with scripts
|
|
|
|
### Time Savers
|
|
- Keep validation script running
|
|
- Use IDE snippets for common patterns
|
|
- Track blockers immediately |