1.0.3 • Published 5 months ago
p2p-counter-example v1.0.3
P2P Counter Example App
This example demonstrates the complete usage of the P2P Counter Capacitor plugin, including:
- NFC device discovery
- WebRTC mesh networking
- Real-time attendance tracking
- Peer connection management
- Keepalive system
- Network health monitoring
- Message prioritization
- Mesh topology visualization
Features
Core Features
- Toggle NFC discovery
- View connected peers
- Monitor network health in real-time
- Simulate ticket scanning
- Track attendee presence/absence
- Real-time sync across all connected devices
Advanced Features
Mesh Network Visualization
- Real-time network topology map
- Connection strength indicators
- Message flow visualization
- Network health statistics
Network Health Monitoring
- Average latency tracking
- Packet loss detection
- Connection quality metrics
- Peer connection status
- Network bandwidth usage: ~500KB/hour per peer for keep alive messages
Message Management
- Priority-based message queuing
- Automatic message retries
- Message deduplication
- Chunked message transfer
- Compression for large messages
Mesh Network Features
- Automatic peer discovery
- Optimal route calculation
- Network self-healing
- Connection load balancing
- Multi-hop message relay
Event Management
- Multiple event support
- Manual and automatic counting modes
- Real-time attendance updates
- Historical attendance tracking
- Event-specific statistics
Platform-Specific Notes
iOS
- Requires iOS 13.0 or later
- NFC capability must be enabled in your provisioning profile
- Uses system NFC scanning UI
- Shows scan button instead of toggle switch
Android
- Requires Android API level 22 or later
- Uses HCE (Host Card Emulation) for NFC
- Shows toggle switch for NFC discovery
- Background service for continuous mesh networking
Running the Example
- Install dependencies:
npm install
- Build the plugin and example:
npm run build
cd example
npm install
npm run build
- Add platforms:
npx cap add android
npx cap add ios
- Sync changes:
npx cap sync
- Run on device:
# For Android
npx cap run android
# For iOS
npx cap run ios
Network Requirements
- Peer-to-peer communication uses WebRTC
- STUN server used for NAT traversal
- Minimal bandwidth requirements:
- Base: ~500KB/hour per peer
- Peak: Depends on message frequency and size
- Compressed messages for efficiency
- Adaptive keepalive intervals
Troubleshooting
- Ensure NFC is enabled on devices
- Check network connectivity
- Verify permissions are granted
- Monitor logcat/console for detailed logs
- Check network health statistics for connection issues
Example Usage
See EXAMPLE.md for more details on how to use the plugin.