
Complete church management system with bulletin management, media processing, live streaming integration, and web interface. Includes authentication, email notifications, database migrations, and comprehensive test suite.
108 lines
2.5 KiB
Markdown
108 lines
2.5 KiB
Markdown
# Task Completion Workflow
|
|
|
|
## When a coding task is completed, follow these steps:
|
|
|
|
### 1. Code Quality Checks
|
|
```bash
|
|
# Format the code
|
|
cargo fmt
|
|
|
|
# Run linter
|
|
cargo clippy
|
|
|
|
# Check for compilation errors
|
|
cargo check
|
|
```
|
|
|
|
### 2. Build & Test
|
|
```bash
|
|
# Build the project
|
|
cargo build
|
|
|
|
# Run tests
|
|
cargo test
|
|
|
|
# Run specific tests if relevant
|
|
cargo test module_name -- --nocapture
|
|
```
|
|
|
|
### 3. Media System Testing (if relevant)
|
|
```bash
|
|
# Test media processing
|
|
./test_media_system.sh
|
|
|
|
# Test image processing (if modified)
|
|
./test_images.sh
|
|
|
|
# Run comprehensive tests
|
|
./comprehensive_test.sh
|
|
```
|
|
|
|
### 4. Service Integration Testing
|
|
```bash
|
|
# Restart the service
|
|
sudo systemctl restart church-api
|
|
|
|
# Check service status
|
|
sudo systemctl status church-api
|
|
|
|
# View logs for errors
|
|
journalctl -fu church-api --lines=50
|
|
```
|
|
|
|
### 5. API Testing (if relevant)
|
|
```bash
|
|
# Test authentication
|
|
curl -X POST https://api.rockvilletollandsda.church/api/auth/login \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"username": "admin", "password": "..."}'
|
|
|
|
# Test relevant endpoints with JWT token
|
|
# (Check fix_routes.sh for examples)
|
|
```
|
|
|
|
### 6. Performance Validation (for media changes)
|
|
- Check hardware acceleration is working:
|
|
```bash
|
|
vainfo
|
|
intel_gpu_top # During transcoding
|
|
```
|
|
- Monitor memory usage and CPU utilization
|
|
- Verify transcoding times are reasonable
|
|
- Check for memory leaks in long-running operations
|
|
|
|
### 7. Documentation Updates
|
|
- Update inline comments for complex changes
|
|
- Add tracing logs for new operations
|
|
- Update memory files if architecture changes
|
|
|
|
### 8. Final Checklist
|
|
- [ ] Code compiles without warnings
|
|
- [ ] Tests pass
|
|
- [ ] Service restarts successfully
|
|
- [ ] No memory leaks or resource exhaustion
|
|
- [ ] Hardware acceleration functional (if applicable)
|
|
- [ ] Logging provides adequate debugging information
|
|
- [ ] Error handling is comprehensive
|
|
|
|
## Critical Notes
|
|
|
|
### For Media/Streaming Changes:
|
|
- Always test with actual video files
|
|
- Verify both AV1 and H.264 codecs work
|
|
- Check HLS playlist generation
|
|
- Test with different client user agents
|
|
- Monitor segment caching behavior
|
|
|
|
### For GStreamer Integration:
|
|
- Ensure GStreamer initialization succeeds
|
|
- Test pipeline cleanup (no resource leaks)
|
|
- Verify hardware acceleration paths
|
|
- Check error handling for missing plugins
|
|
- Test with various input formats
|
|
|
|
### Performance Requirements:
|
|
- Transcoding should complete faster than real-time
|
|
- Memory usage should remain stable
|
|
- No blocking of other requests during transcoding
|
|
- Proper cleanup of temporary files and resources |