Enterprise-grade incident and vulnerability management platform built with modern, production-ready technologies.
- Framework: Next.js 16 (App Router)
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- State Management: React Context + SWR
- Deployment: Vercel
- Framework: FastAPI (Python)
- Database: PostgreSQL (Supabase)
- Auth: JWT + Bcrypt
- ORM: SQLAlchemy
- Deployment: Render
- Provider: Supabase (PostgreSQL)
- Security: Row-Level Security (RLS), Multi-tenant isolation
- Tables: Organizations, Users, Incidents, Vulnerabilities, Comments, Audit Logs, and more
- Node.js 18+
- Python 3.10+
- PostgreSQL database (Supabase account)
- Vercel and Render accounts
The database schema has already been created in your Supabase project. The SQL migrations are in /scripts/01_init_schema.sql.
Tables created:
- organizations, users, incidents, vulnerabilities
- incident_vulnerabilities, comments, alerts
- audit_logs, api_keys, webhooks, notification_preferences
cd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Create .env file
cp .env.example .env
# Edit .env with your Supabase credentials
# DATABASE_URL=postgresql://user:password@host:port/database
# SECRET_KEY=your-secret-key
# Run server
python main.pyBackend will be available at http://localhost:8000
API docs: http://localhost:8000/docs
cd .. # Go back to root
# Install dependencies
npm install
# Create .env.local
echo "NEXT_PUBLIC_API_URL=http://localhost:8000/api" > .env.local
# Run development server
npm run devFrontend will be available at http://localhost:3000
- Real-time statistics with 6 key metrics (incidents, vulnerabilities, patch coverage)
- Patch coverage progress bar visualization
- Incident trends (30-day history)
- Severity distribution analysis
- Critical vulnerabilities highlighting
- Professional icon-based design with color coding
- Full CRUD operations with search, filter, pagination
- Severity levels (Critical, High, Medium, Low)
- Status tracking (Open, Investigating, Resolved, Closed)
- Team assignments and collaboration
- Comments and timeline
- Multi-tenant isolation
- CVE tracking with CVSS scores
- Patch status management with coverage tracking
- Remediation tracking
- Link vulnerabilities to incidents
- Filter by severity and status
- Bulk actions support
-
WiFi Device Tracking
- Auto-detect router (Tenda, TP-Link, UniFi, Meraki, Mikrotik)
- List connected devices with MAC/IP addresses
- Device type detection (laptop, phone, tablet, IoT)
- Connection time and signal strength tracking
- Real-time online/offline status
-
DNS Query Logging
- Track websites visited by each device
- Auto-categorization (social, streaming, work, news, adult, malware)
- Block/allow filtering
- DNS query history per user/device
- Top domains analytics
-
Network Policies
- Block content categories
- Create custom access rules
- Enable/disable policies on demand
-
Advanced Monitoring Options
- Device Discovery automation
- Real-time alerts for suspicious activity
- Bandwidth usage monitoring
- Content filtering configuration
- Data retention policies
- Email alerts for new incidents and critical vulnerabilities
- Slack integration with formatted messages
- Microsoft Teams adaptive cards
- Webhook management UI
- Async notification delivery (non-blocking)
- PDF report generation
- Audit logs with full change history
- User activity tracking
- Compliance reporting
- JWT authentication with token refresh
- Bcrypt password hashing
- Role-based access control (ADMIN, ANALYST, VIEWER)
- Comprehensive audit logging
- Multi-tenant with organization isolation
- Row-Level Security policies
- Rate limiting (100 req/min per IP)
- SQL injection prevention (parameterized queries)
- RESTful API design with 40+ endpoints
- Interactive API documentation (Swagger)
- Full error handling
- Request/response validation
- Search, filter, pagination support
- Async operations
- Create organization and admin account
- Receive JWT token
- Token stored in localStorage
- Automatically included in API requests
- Email and password authentication
- JWT token issued on success
- Token refreshed automatically
- ADMIN: Full access, user management, settings
- ANALYST: Create/update incidents and vulnerabilities
- VIEWER: Read-only access to incidents and data
POST /auth/register- Create org and admin userPOST /auth/login- Login with credentialsGET /auth/me- Get current user profile
GET /incidents- List all incidents with search/filter/paginationPOST /incidents- Create incidentGET /incidents/{id}- Get incident detailsPUT /incidents/{id}- Update incidentDELETE /incidents/{id}- Delete incidentGET /incidents/{id}/comments- Get commentsPOST /incidents/{id}/comments- Add comment
GET /vulnerabilities- List vulnerabilities with search/filter/paginationPOST /vulnerabilities- Create vulnerabilityGET /vulnerabilities/{id}- Get vulnerability detailsPUT /vulnerabilities/{id}- Update vulnerabilityDELETE /vulnerabilities/{id}- Delete vulnerabilityPOST /vulnerabilities/{id}/incidents/{incident_id}- Link to incident
GET /dashboard- Complete dashboard data with stats and trendsGET /dashboard/stats- Statistics onlyGET /dashboard/trends- Incident trends (30-day history)GET /dashboard/severity-distribution- Severity breakdown
POST /network/wifi-config/detect- Auto-detect routerPOST /network/wifi-config/test-connection- Test router credentialsPOST /network/wifi-config- Setup router configurationGET /network/wifi-config- Get current router configPOST /network/wifi-config/sync- Sync devices from routerGET /network/devices- List connected devicesGET /network/devices/{id}- Get device detailsGET /network/devices/{id}/dns-history- Get device DNS historyGET /network/dns-logs- Get all DNS queriesGET /network/dns-logs/blocked- Get blocked queriesPOST /network/dns-logs/import- Import DNS logsGET /network/stats- Get network analyticsPOST /network/policies- Create network policyGET /network/policies- List policiesPUT /network/policies/{id}- Update policyDELETE /network/policies/{id}- Delete policy
GET /alerts- List alertsPUT /alerts/{id}- Mark alert as readDELETE /alerts/{id}- Delete alert
POST /integrations/webhooks- Create webhookGET /integrations/webhooks- List webhooksPUT /integrations/webhooks/{id}- Update webhookDELETE /integrations/webhooks/{id}- Delete webhook
GET /reports- Generate reportsGET /audit-logs- Get audit log history
# Push to Git
git push origin main
# Vercel auto-deploys on push
# Set environment variables in Vercel dashboard:
NEXT_PUBLIC_API_URL=https://api.yourdomain.com/api- Create new Web Service on Render
- Connect GitHub repository
- Set build command:
pip install -r backend/requirements.txt - Set start command:
cd backend && python main.py - Add environment variables:
DATABASE_URL- Supabase connection stringSECRET_KEY- Secure random keyCORS_ORIGINS- Your frontend domain
Already configured with:
- PostgreSQL 15
- Automatic backups
- Row-Level Security
- Real-time capabilities
- organizations - Multi-tenant base
- users - Team members with roles
- incidents - Security incidents
- vulnerabilities - CVE tracking
- comments - Team collaboration
- incident_vulnerabilities - Relationship mapping
- connected_devices - WiFi connected devices with stats
- dns_logs - DNS query history with categorization
- site_categories - Domain categorization database
- wifi_configs - Router configuration storage
- network_policies - Network access control rules
- audit_logs - Full change history for compliance
- alerts - Notification system
- api_keys - Integration API keys
- webhooks - External service integrations
- notification_preferences - User notification settings
Total Tables: 16 with proper indexes, foreign keys, and multi-tenant isolation
DATABASE_URL=postgresql://user:password@host:port/db
SECRET_KEY=your-secret-key
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30
CORS_ORIGINS=["http://localhost:3000", "https://yourdomain.com"]
NEXT_PUBLIC_API_URL=http://localhost:8000/api
curl http://localhost:8000/healthcurl http://localhost:3000-
Next.js
- Server-side rendering + static generation
- API routes optional
- Excellent SEO
- Used by 30,000+ companies
- Easy deployment to Vercel
-
FastAPI
- 3x faster than Flask
- Automatic API documentation (Swagger)
- Built-in data validation (Pydantic)
- Async/await support
- Used heavily in cybersecurity tools
-
PostgreSQL + Supabase
- Enterprise-grade reliability
- Row-Level Security built-in
- Real-time capabilities
- Managed service (no DevOps needed)
- Free tier available
-
Tailwind CSS + shadcn/ui
- Modern design system
- Fast development
- Highly customizable
- Professional appearance
- Accessibility built-in
- Frontend: Optimized with Next.js caching, compression, code splitting
- Backend: FastAPI is 3x faster than Flask, connection pooling enabled
- Database: Indexed queries, prepared statements, connection pooling
- Tenda F3 - Home routers with web interface
- Ubiquiti UniFi - Enterprise WiFi controllers
- Cisco Meraki - Cloud-managed WiFi
- TP-Link - Popular budget routers
- Mikrotik RouterOS - Advanced routing
- Go to
/network/settings - Click "π Detect My Router" or "π Enter Manually"
- Enter your router admin password
- Click "Test & Save"
- Go to
/networkand click "Sync Now"
- Auto-discover connected devices
- Track websites visited (DNS logs)
- Block content categories via policies
- View per-device internet history
- Monitor bandwidth usage
- Real-time device status
β Implemented:
- Bcrypt password hashing (cost factor 12)
- JWT token authentication with refresh
- CORS protection with origin validation
- SQL injection prevention (parameterized queries)
- Environment variable secrets management
- Row-Level Security (RLS) for multi-tenant isolation
- HTTPS ready (automatic with Vercel/Render)
- Audit logging for compliance
- Rate limiting (100 req/min per IP)
- Network monitoring with user consent
This project demonstrates:
- Full-stack production architecture
- Modern Python web framework (FastAPI)
- React with Next.js best practices
- PostgreSQL advanced features with proper indexing
- Cloud deployment patterns (Vercel, Render, Supabase)
- Security-first development approach
- Team collaboration features
- Real-world incident management
- Network monitoring and device tracking
- Email and webhook integrations
- Rate limiting and API security
- Multi-tenant application design
- Async operations and non-blocking requests
- Professional UI with proper iconography
Perfect for:
- Portfolio showcase of full-stack development
- Learning modern web development best practices
- Understanding security operations and monitoring
- Enterprise application design patterns
- Network security and monitoring implementation
- Integration with real hardware (WiFi routers)
For issues or questions:
- Check the API documentation:
http://localhost:8000/docs - Review the code comments
- Check environment variables are set correctly
- Verify database connection
MIT License - Use for commercial and personal projects
Built with β€οΈ for security teams worldwide