Overview
Network Analysis is a 100% client-side application—it consists of static HTML, CSS, and JavaScript files with no backend required. This makes deployment extremely simple: just serve the files with any web server or static hosting service.All data processing happens in the browser using JavaScript libraries loaded from CDNs. No data is sent to a server.
Quick Start (Local Development)
The fastest way to run Network Analysis locally:Project Structure
The application consists of these files:File Descriptions
File Descriptions
index.html (203 lines)- HTML structure for sidebar, tabs, and visualization containers
- Loads all dependencies via CDN links:
- SheetJS (XLSX) for Excel parsing
- D3.js + d3-sankey for Sankey diagrams
- vis-network for force-directed graphs
- Leaflet for geographic maps
app.js (2,160 lines)- Global app state (
appStateobject) - File loading and Excel parsing
- Column mapping logic
- Data aggregation and indexing
- Rendering functions for all 4 visualizations
- Filter update handlers
presentation.js (~90 lines)- Event delegation for user interactions
- Separates presentation layer from business logic
styles.css- Layout: sidebar, tabs, toolbars
- Visualization container styling
- Responsive design
Deployment Options
Option 1: GitHub Pages
Ideal for open-source projects or public demos.Enable GitHub Pages
- Go to repository Settings → Pages
- Source: Deploy from a branch
- Branch: main → / (root)
- Click Save
GitHub Pages is completely free for public repositories. For private repos, you need a GitHub Pro account.
Option 2: Netlify
Best for continuous deployment with drag-and-drop simplicity.Create Netlify Account
Sign up at netlify.com (free tier available)
Deploy via Drag-and-Drop
- Open Netlify Drop
- Drag your project folder into the drop zone
- Netlify builds and deploys instantly
Netlify with Git
Netlify with Git
For continuous deployment:
- Push code to GitHub/GitLab/Bitbucket
- In Netlify: New site from Git
- Select repository
- Build settings:
- Build command: (leave empty)
- Publish directory:
.(current directory)
- Click Deploy site
main triggers automatic redeployment.Option 3: Vercel
Ideal for projects already on GitHub with instant deployment.Import from GitHub
- Sign in at vercel.com
- Click New Project
- Import your repository
Configure (minimal)
Vercel auto-detects static sites:
- Framework Preset: Other
- Root Directory:
./ - No build command needed
Option 4: AWS S3 + CloudFront
For production deployments with full control.Option 5: Self-Hosted Server
For internal company networks or on-premise deployments.Configuration & Customization
Updating Library Versions
All dependencies are loaded from CDN inindex.html (lines 186-196):
Offline Mode (Optional)
To run without internet connectivity:Custom Branding
Edit these elements inindex.html and styles.css:
Security Considerations
HTTPS Requirement
For production deployments, always use HTTPS:- GitHub Pages: HTTPS enabled by default
- Netlify/Vercel: Automatic SSL certificates
- AWS CloudFront: Configure ACM certificate
- Self-hosted: Use Let’s Encrypt
Content Security Policy
If you add CSP headers, whitelist CDN domains:Performance Optimization
Enable Compression
Enable Compression
Most hosting platforms enable gzip/brotli automatically. For self-hosted:NGINX:Apache:
Browser Caching
Browser Caching
Set cache headers for static assets:
Monitoring & Analytics
Since the app is client-side, add analytics via:Google Analytics
Add toindex.html before </head>:
Plausible Analytics (Privacy-Friendly)
Troubleshooting
White Screen / Nothing Loads
White Screen / Nothing Loads
Causes:
- Opened via
file://instead of HTTP server - CDN libraries blocked by firewall/ad-blocker
- JavaScript disabled in browser
- Always use HTTP server (see Quick Start)
- Check browser console (F12) for errors
- Verify CDN URLs are accessible
- Try different browser
CORS Errors in Console
CORS Errors in Console
file:// protocol.Slow Performance with Large Files
Slow Performance with Large Files
- Browser-based processing has limits
- Recommend files under 10MB / 10,000 rows
- Use Top-N filters aggressively
- Consider pre-aggregating data in Excel before loading
Updates & Maintenance
To update your deployed instance:Next Steps
Data Format
Review Excel file requirements
Column Mapping
Learn column mapping workflow
Support
For deployment issues:- Check browser console (F12) for JavaScript errors
- Verify all CDN libraries load successfully
- Test with a small sample Excel file first
- Review README.md in the source repository