Business-Focused Technology Monitoring Platform
Centralized IT monitoring platform for Windows with RSS feed aggregation, AI-powered classification, and automated security alerts. Designed specifically for business technology stacks with CVE priority.
Monitor your actual business technologies for:
- Critical security vulnerabilities (CVE)
- Product updates and patches
- Security advisories and threats
- Technology-specific news and changes
- CISA - Government security alerts
- SANS ISC - Threat intelligence
- Security News - Latest vulnerabilities
- Office 365 - Microsoft 365 updates and security
- Windows - Server/desktop security patches
- SentinelOne - Endpoint detection and response
- JumpCloud - Identity and access management
- VMware - Virtualization platform updates
- Red Hat / Rocky Linux - Enterprise Linux distributions
- Windows with WAMP server (MySQL active)
- Python 3.11+ installed
- OpenAI API Key for AI classification
- SMTP credentials for email alerts (optional)
# Clone the repository
git clone https://github.com/elfrost/TechWatchIT.git
cd TechWatchIT
# Run the program (handles everything automatically)
run_techwatchit.batThe BAT file will:
- ✅ Check Python installation
- 📦 Create virtual environment
- 📋 Install dependencies
- ⚙️ Setup configuration
- 🚀 Launch interactive menu
- 12 curated sources (100% functional)
- Business-focused technologies
- CVE priority monitoring
- Automatic duplicate detection
- OpenAI GPT-4o classification
- Technology-specific categorization
- Keyword fallback system
- Smart summarization
- MySQL database (WAMP integration)
- Structured data schema
- Historical tracking
- Performance statistics
- Bootstrap 5 responsive interface
- Real-time filtering by technology
- CVE priority highlighting
- Export capabilities
- Critical CVE notifications
- Daily digest emails
- SMTP integration
- Customizable thresholds
# OpenAI API for AI classification/summaries
OPENAI_API_KEY=your_openai_api_key_here
# MySQL Configuration (WAMP)
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=
MYSQL_DATABASE=techwatchit
# SMTP Configuration (Optional)
SMTP_SERVER=smtp.office365.com
SMTP_PORT=587
SMTP_USERNAME=[email protected]
SMTP_PASSWORD=your_app_password
SMTP_FROM_NAME=TechWatchIT Alert System
# Alert Configuration
ALERT_THRESHOLD_CVSS=9.0
ALERT_RECIPIENTS=[email protected],[email protected]
DAILY_DIGEST_TIME=08:00
# API Configuration
API_HOST=0.0.0.0
API_PORT=5000
API_DEBUG=Falserun_techwatchit.bat# Complete pipeline (fetch + process + alerts)
python main.py --pipeline
# Individual operations
python main.py --init # Initialize database
python main.py --fetch # Fetch RSS feeds
python main.py --process # Process with AI
python main.py --digest # Send daily digest
python main.py --alerts # Check critical alerts
python main.py --status # System status
python main.py --api # Launch web dashboardhttp://localhost:5000
TechWatchIT/
├── config/
│ ├── __init__.py
│ └── config.py # Centralized configuration
├── src/
│ ├── __init__.py
│ ├── api.py # Flask REST API
│ ├── classifier.py # AI classification
│ ├── database.py # MySQL manager
│ ├── fetch_feeds.py # RSS collector
│ └── summarizer.py # AI summarization
├── scripts/
│ ├── alert_handler.py # Critical alerts
│ ├── daily_digest.py # Email digest
│ ├── setup_db.py # Database setup
│ ├── test_mysql.py # MySQL test
│ └── test_openai.py # OpenAI test
├── web/
│ ├── dashboard.html # Main interface
│ └── blog_dashboard.html # Blog interface
├── main.py # Main orchestrator
├── run_techwatchit.bat # One-click launcher
├── requirements.txt # Python dependencies
├── setup.bat # Manual setup
├── env.example # Environment template
└── README.md # This file
Edit config/config.py:
RSS_FEEDS = {
"new_source": {
"name": "Source Name",
"url": "https://example.com/rss.xml",
"category": "Security Update",
"technology": "your_tech",
"description": "Source description"
}
}Customize classification in config/config.py:
TECH_KEYWORDS = {
"your_tech": [
"keyword1", "keyword2", "product-name",
"vulnerability-type", "specific-terms"
]
}- raw_articles - Original RSS feed data
- processed_articles - AI-classified content
- rss_sources - Feed source management
- fetch_log - Collection history
- alert_notifications - Alert tracking
- daily_stats - Performance metrics
http://localhost/phpmyadmin
User: root
Password: (empty)
Database: techwatchit
- Store in
.envfile only - Never commit to version control
- Use environment-specific keys
- Rotate keys regularly
- Use strong MySQL passwords in production
- Restrict database access
- Regular backups
- Monitor access logs
- Configure firewall rules
- Use HTTPS in production
- Restrict API access
- Monitor traffic patterns
# Test MySQL connection
python scripts/test_mysql.py
# Test OpenAI API
python scripts/test_openai.py
# System status check
python main.py --statusAll configured sources are automatically tested for:
- HTTP connectivity (200 status)
- Valid RSS/XML format
- Content availability
- Article structure
✅ Check WAMP server status (green icon)
✅ Verify MySQL service is running
✅ Test: python scripts/test_mysql.py
✅ Check firewall on port 3306
✅ Verify API key in .env file
✅ Check quota limits on OpenAI platform
✅ Test: python scripts/test_openai.py
✅ System uses keyword fallback if API fails
✅ Individual feed failures don't stop processing
✅ Check logs for specific error messages
✅ Validate feed URLs manually
✅ Network timeouts set to 30 seconds per feed
✅ Set console to UTF-8: chcp 65001
✅ Use Windows Terminal instead of Command Prompt
✅ Some emojis may not display correctly in older terminals
- RSS Sources: 12 sources (100% functional)
- Articles per cycle: ~170 articles
- Processing time: < 5 minutes/complete pipeline
- Success rate: 100% (verified sources)
- Memory: ~200MB during processing
- Storage: ~10MB/month (database growth)
- API calls: ~50-100 OpenAI requests/cycle
- Network: ~5MB download/cycle
- Technology coverage - Request new RSS sources
- Classification improvement - Suggest keyword additions
- Alert enhancements - Custom notification rules
- Dashboard features - UI/UX improvements
Include:
- Operating system version
- Python version
- Error messages/logs
- Steps to reproduce
- Expected vs actual behavior
MIT License - See LICENSE file for details
- CLAUDE.md - Claude Code integration guide
- BUSINESS_CONFIG.md - Business technology focus
- Logs directory - Detailed operation logs
- GitHub Issues - Bug reports and feature requests
- Discussions - General questions and sharing
For enterprise deployments, custom integrations, or professional support, please contact through GitHub.
TechWatchIT - Professional IT monitoring for your business technologies 🚀