7.4 KiB
Multi-Device Local Network Access Guide
Quick Setup (5 Minutes)
Your Church SongLyric system is already configured for multi-device access! Follow these steps:
✅ Backend Status (Server PC)
Current Configuration:
- ✅ Backend running on port 5000
- ✅ Listening on all interfaces (0.0.0.0)
- ✅ Windows Firewall allows port 5000
- ✅ CORS enabled for cross-origin requests
- ✅ WebSocket enabled for real-time sync
Server IP Addresses:
- Primary LAN:
192.168.10.178 - Alternative IPs:
10.5.0.2,192.168.233.1,192.168.74.1
📱 Device Setup Instructions
Step 1: Find Your Server IP
On the server PC (where backend runs), open PowerShell and run:
ipconfig | Select-String "IPv4"
Look for the IP starting with 192.168.x.x (most common) - typically 192.168.10.178
Step 2: Configure Each Device
On each device (phone, tablet, laptop):
-
Open the app in a browser:
- Same network:
http://192.168.10.178:3000 - Or access via computer name:
http://YOUR-PC-NAME:3000
- Same network:
-
Go to Settings (⚙️ icon in top navigation)
-
Switch to Online Mode:
- Click "Online Mode (No-IP DNS)" option
- This enables backend sync
-
Configure Connection:
- Protocol:
http - Hostname:
192.168.10.178(your server IP) - Port:
5000 - Click Save DNS Settings
- Protocol:
-
Migrate Data (if needed):
- If prompted, click "Yes, Migrate Now"
- Wait 5-10 seconds for completion
- Data will sync from local storage to backend
Step 3: Verify Connection
After saving settings:
-
Click Run Diagnostics in Settings
-
All tests should show ✅:
- ✅ DNS Resolution
- ✅ Localhost Connectivity
- ✅ Backend Connectivity
- ✅ Local Network (LAN) Test
-
Test data sync:
- Add a song on one device
- Check if it appears on another device within seconds
- Real-time sync via WebSocket!
🔧 Troubleshooting
Device Can't Connect
Check 1: Same Wi-Fi Network?
- All devices must be on the same Wi-Fi
- Check Wi-Fi name on each device
Check 2: Backend Running?
- On server PC, verify:
netstat -ano | findstr :5000 - Should show:
0.0.0.0:5000LISTENING - Restart if needed:
node backend/server.js
Check 3: Correct IP Address?
- Ping from device:
ping 192.168.10.178 - Should get responses (not timeout)
- If timeout, check firewall or IP changed
Check 4: Firewall Allows Port?
- On server PC:
netsh advfirewall firewall show rule name=all | Select-String "5000" - Should show:
Action: Allow - If not, create rule (see below)
Create Firewall Rule (if needed)
On server PC, run PowerShell as Administrator:
New-NetFirewallRule -DisplayName "Church SongLyric Backend" -Direction Inbound -Protocol TCP -LocalPort 5000 -Action Allow
IP Address Changed?
If server PC IP changed (after router reboot):
- Find new IP:
ipconfig | Select-String "IPv4" - Update Settings on all devices with new IP
- Save and test
📊 Testing Multi-Device Sync
Test 1: Real-Time Song Creation
- Device A: Add a new song in Database
- Device B: Refresh Database page
- Result: New song appears instantly ✨
Test 2: Profile Switching
- Device A: Switch to different profile
- Device B: Profile selection syncs automatically
- Result: Both devices show same profile ✨
Test 3: Worship Plan Creation
- Device A: Create a worship plan with songs
- Device B: Open Planning page
- Result: Plan appears with all songs ✨
🌐 Access URLs for Your Network
Server PC (localhost):
http://localhost:3000
http://localhost:5000/api
Other Devices on LAN:
Frontend: http://192.168.10.178:3000
Backend API: http://192.168.10.178:5000/api
Health Check: http://192.168.10.178:5000/api/health
Quick Test Command (any device):
curl http://192.168.10.178:5000/api/health
Should return:
{"status":"ok","ts":1764470523364,"uptime_ms":121825.9212}
🚀 Starting the System
On Server PC
Terminal 1 - Backend:
cd "E:\Documents\Website Projects\Church_SongLyric\backend"
node server.js
Terminal 2 - Frontend:
cd "E:\Documents\Website Projects\Church_SongLyric\frontend"
npm start
On Other Devices
Option 1: Open Browser
http://192.168.10.178:3000
Option 2: Access via Computer Name (if DNS resolves)
http://YOUR-PC-NAME:3000
✨ Features Working Across Devices
- ✅ Real-time song database - Add, edit, delete songs
- ✅ Profile management - Create and switch profiles
- ✅ Worship list - Create plans with song lists
- ✅ Chord transposition - Per-profile key adjustments
- ✅ Instant sync - Changes appear on all devices within seconds
- ✅ WebSocket updates - No manual refresh needed
- ✅ Offline fallback - Can switch back to Local Mode anytime
💡 Best Practices
- Keep server PC running - Backend must be active for multi-device access
- Use Static IP - Assign static IP in router to prevent address changes
- Bookmark the URL - Save
http://192.168.10.178:3000on each device - Test connectivity first - Run diagnostics before troubleshooting
- One migration per device - Only migrate data once when switching to Online Mode
🔐 Security Notes
Local Network Only:
- Current setup works on local Wi-Fi only
- Data is not encrypted (HTTP not HTTPS)
- Fine for church/home network
- For internet access, see
EXTERNAL_ACCESS_CHECKLIST.md
Data Storage:
- Backend stores data in
backend/data.json - Backup this file regularly
- Each device can also keep local copy (Local Mode)
📞 Need Help?
Quick Diagnostics:
- Settings → Run Diagnostics
- Check all 4 tests pass
- Review error messages
Common Issues:
- "Connection refused" = Backend not running
- "Timeout" = Wrong IP or firewall blocking
- "404 Not found" = Wrong port number
- "CORS error" = Backend CORS not configured (already set up for you!)
Health Check Script:
.\backend\health-check.ps1 http://192.168.10.178:5000
✅ Verification Checklist
Before using across devices, verify:
- Backend running:
node backend/server.jsshows "API listening on port 5000" - Firewall allows port 5000 (already configured)
- Can access from server:
curl http://localhost:5000/api/healthreturns OK - Can access from LAN:
curl http://192.168.10.178:5000/api/healthreturns OK - Frontend accessible: Open
http://192.168.10.178:3000in browser - Settings configured: Online Mode selected, hostname set to
192.168.10.178 - Diagnostics pass: All 4 tests show ✅ in Settings → Diagnostics
If all checked, you're ready! 🎉
🎯 Next Steps
- Connect your first additional device - Follow Step 2 above
- Test real-time sync - Add a song and watch it appear on other device
- Explore features - Profiles, plans, chord transposition
- Optional: Set up external access (see
EXTERNAL_ACCESS_CHECKLIST.md)
Your Church SongLyric system is ready for multi-device collaboration! 🙌