Skip to content

Latest commit

 

History

History
364 lines (285 loc) · 8.67 KB

File metadata and controls

364 lines (285 loc) · 8.67 KB

🎉 SNATT - Final Production Version

✅ Project Status: READY FOR DEPLOYMENT

Last Updated: October 5, 2025
Version: 2.0.0
Status: Production Ready


📦 What's Included

1. Desktop Application (Python + CustomTkinter)

Location: src/ directory

Run Locally:

python src/main.py

Features:

  • ✅ Direct SSH connections to network devices
  • ✅ 5 complete GUI panels (Discovery, Diagnostics, Backup, Reports, Settings)
  • ✅ Auto-Detect LAN feature
  • ✅ Real-time network operations
  • ✅ Local configuration and credential storage
  • ✅ Production-ready, no demo code

Use Case: Network engineers with direct device access, local operations


2. Web Application (React + Vite)

Location: snatt-react/ directory

Run Locally:

cd snatt-react
npm install
npm run dev  # Development at http://localhost:5173
npm run build  # Production build

Features:

  • ✅ Modern React 19 + Vite
  • ✅ Same 5 panels as desktop version
  • ✅ Responsive design (desktop/tablet/mobile)
  • ✅ Mock data for UI testing
  • ✅ Ready for Vercel deployment
  • ✅ Fast builds (<2 seconds)
  • ✅ Production build verified

Use Case: Remote access, team collaboration, no installation needed


🚀 Deployment Options

Desktop Version

Option 1: Run from source

pip install -r requirements.txt
python src/main.py

Option 2: Build executable (future enhancement)

  • Use PyInstaller to create standalone .exe
  • Distribute via GitHub releases

Web Version - Deploy to Vercel

Steps:

  1. Go to vercel.com
  2. Click "Add New Project"
  3. Import LingeshwarKulal/SNATT
  4. Set Root Directory to: snatt-react
  5. Vercel auto-detects:
    • Framework: Vite
    • Build: npm run build
    • Output: dist/
  6. Click "Deploy"

Expected URL: https://snatt-[your-name].vercel.app


📁 Repository Structure

SNATT/
├── src/                          # Desktop Python application
│   ├── main.py                   # Application entry point
│   ├── engines/                  # Core automation engines (5)
│   ├── gui/                      # GUI panels (5)
│   ├── models/                   # Data models (3)
│   └── utils/                    # Utilities (4)
│
├── snatt-react/                  # Web React application
│   ├── src/
│   │   ├── App.jsx              # Main app component
│   │   ├── components/          # React components (6)
│   │   │   ├── Sidebar.jsx
│   │   │   ├── DiscoveryPanel.jsx
│   │   │   ├── DiagnosticsPanel.jsx
│   │   │   ├── BackupPanel.jsx
│   │   │   ├── ReportsPanel.jsx
│   │   │   └── SettingsPanel.jsx
│   │   └── App.css
│   ├── package.json
│   ├── vite.config.js
│   └── dist/                    # Build output (generated)
│
├── config/                       # Configuration files
├── data/                         # Application data
├── tests/                        # Unit tests
├── docs/                         # Documentation
│
├── README.md                     # Main documentation
├── QUICKSTART.md                 # Quick start guide
├── PRODUCTION_READY.md           # Production features
├── REACT_DEPLOYMENT.md           # React deployment guide
├── PRD.md                        # Product requirements
├── requirements.txt              # Python dependencies
├── vercel.json                   # Vercel configuration
└── LICENSE                       # MIT License

🎯 Features Summary

Network Discovery

  • Subnet scanning (CIDR notation)
  • IP range scanning
  • Auto-detect LAN (Windows)
  • Manual device addition
  • Device vendor detection
  • Connection management

Diagnostics

  • Interface health checks
  • CPU & memory monitoring
  • Connectivity testing
  • Log analysis
  • Custom workflows
  • Color-coded results (Critical/Warning/Info)

Configuration Backup

  • Running configuration backup
  • Startup configuration backup
  • Batch backup operations
  • Backup history tracking
  • Configuration comparison
  • Automated scheduling

Reporting

  • Network health reports
  • Backup status reports
  • Diagnostic reports
  • Device inventory
  • Multiple export formats (Excel/PDF/CSV)
  • Professional formatting

Settings

  • Credential management
  • Encrypted credential storage
  • Configuration editor
  • Application preferences
  • Dark mode support (web)
  • Auto-refresh options

🛠️ Technology Stack

Desktop Application

  • Language: Python 3.11+
  • GUI Framework: CustomTkinter 5.2.2
  • Network Libraries:
    • Netmiko 4.6.0 (SSH connections)
    • NAPALM 5.1.0 (multi-vendor)
    • Paramiko 4.0.0 (SSH protocol)
  • Reporting: openpyxl, reportlab
  • Platform: Windows (tested), Linux/Mac compatible

Web Application

  • Framework: React 19.1.1
  • Build Tool: Vite 7.1.7
  • HTTP Client: Axios 1.6.0
  • Styling: Custom CSS
  • Platform: Any modern browser

📊 Project Statistics

Code Metrics

  • Total Files: 61 Python files + 20 React files
  • Lines of Code: ~12,000+ total
    • Python: ~9,700 lines
    • React: ~2,300 lines
  • Components: 11 (6 React + 5 Python GUI panels)
  • Engines: 5 automation engines
  • Models: 3 data models

Dependencies

  • Python: 15 packages
  • Node.js: 7 packages
  • Build Time: <2 seconds (React)

✨ What's New in v2.0

Added

  • ✅ Complete React web application
  • ✅ Vite build system for fast builds
  • ✅ Vercel deployment support
  • ✅ Responsive mobile design
  • ✅ Modern component architecture

Removed

  • ❌ Next.js web app (replaced with simpler Vite/React)
  • ❌ Demo data and demo loading features
  • ❌ Backup files and temporary docs
  • ❌ Duplicate documentation files

Fixed

  • ✅ All model parameter errors
  • ✅ Deployment configuration issues
  • ✅ Build errors
  • ✅ Directory structure optimization

🎓 Quick Start Guide

For Users (Desktop)

  1. Clone repository
  2. Install dependencies: pip install -r requirements.txt
  3. Run: python src/main.py
  4. Configure credentials in Settings
  5. Start discovering devices!

For Users (Web)

  1. Visit deployed URL (after Vercel deployment)
  2. Navigate using sidebar
  3. Use mock data to test UI
  4. No installation required!

For Developers

  1. Clone repository
  2. Desktop: Install Python deps, run python src/main.py
  3. Web: cd snatt-react, npm install, npm run dev
  4. Make changes
  5. Test locally
  6. Deploy to Vercel (web) or distribute (desktop)

📝 Documentation

All documentation is in Markdown format:

  • README.md - Complete project overview
  • QUICKSTART.md - Installation and first steps
  • PRODUCTION_READY.md - Production deployment features
  • REACT_DEPLOYMENT.md - React/Vercel deployment guide
  • PRD.md - Product requirements document
  • docs/user_guide.md - Detailed user manual

🔐 Security Notes

Desktop Application

  • Credentials encrypted locally
  • SSH keys supported
  • No internet exposure
  • Direct device connections
  • Logs stored locally

Web Application

  • Frontend only (current)
  • Mock data for testing
  • HTTPS via Vercel
  • For real operations: deploy backend separately

🐛 Known Limitations

Desktop Application

  • ✅ Fully functional
  • Windows focus (ipconfig for auto-detect)
  • Requires Python runtime

Web Application

  • ⏳ Backend API needed for real SSH operations
  • ✅ UI fully functional with mock data
  • ✅ Ready for frontend deployment

🚧 Future Enhancements

Planned

  • Backend API deployment guide
  • User authentication (web)
  • Database integration
  • WebSocket real-time updates
  • Multi-vendor support expansion
  • Advanced reporting features
  • Automated testing suite
  • Docker containerization

📞 Support & Contributing

Get Help

  • Check documentation in docs/
  • Review logs in logs/ directory
  • Check GitHub issues

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

📜 License

MIT License - See LICENSE file for details


🎊 Ready to Deploy!

Your SNATT project is now clean, organized, and production-ready!

Desktop Version

python src/main.py

Web Version (Vercel)

  1. Set Root Directory: snatt-react
  2. Deploy!
  3. Share URL with your team

Repository: https://github.com/LingeshwarKulal/SNATT
Version: 2.0.0
Status: ✅ Production Ready
Last Commit: Clean up - Final production version


Thank you for using SNATT! 🚀