Skip to content

A comprehensive, real-time device information and performance monitoring application built with modern web technologies. Get detailed insights about your device, monitor system performance, and export data securely.

Notifications You must be signed in to change notification settings

devSahinur/Enhanced-Device-Info-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

19 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ–ฅ๏ธ Enhanced Device Info App

Next.js React Tailwind CSS TypeScript Ready License

A comprehensive, real-time device information and performance monitoring application built with modern web technologies. Get detailed insights about your device, monitor system performance, and export data securely.

๐ŸŒ Live Demo: https://your-info.sahinur.dev/


โœจ Features

๐Ÿ“Š Real-time Performance Monitoring

  • Live System Metrics: CPU usage, memory consumption, frame rate tracking
  • Interactive Charts: Real-time visualization of performance data
  • Network Analytics: Connection speed, latency monitoring
  • Storage Insights: Disk usage and quota information
  • GPU Information: Graphics card details and WebGL capabilities

๐Ÿ”ง Comprehensive Device Detection

  • Hardware Details: CPU cores, device memory, touch capabilities
  • Display Specifications: Screen resolution, color depth, pixel ratio
  • Browser Intelligence: Engine details, feature support, compatibility
  • Network Information: Connection type, speed, data saving mode
  • Advanced APIs: WebGL, WebAssembly, Sensor APIs, Service Workers
  • 60+ Data Points: Extensive device and browser information

๐ŸŽจ Modern User Experience

  • Dark/Light Theme: Seamless theme switching with system preference detection
  • Responsive Design: Optimized for all screen sizes and devices
  • Collapsible Sections: Organized content with smooth animations
  • Real-time Search: Instant filtering across all device information
  • Professional UI: Glass morphism effects, hover animations, modern typography

๐Ÿ”’ Security & Privacy

  • Security Dashboard: Real-time security assessment and scoring
  • Privacy Controls: Data anonymization and encryption utilities
  • Local Processing: All data processing happens in your browser
  • No External Transmission: Your data never leaves your device
  • Security Recommendations: Personalized security improvement suggestions

๐Ÿ“ Advanced Export Options

  • Multiple Formats: JSON, PDF, CSV, TXT export capabilities
  • Professional Reports: Formatted PDF with charts and tables
  • Structured Data: Clean CSV for spreadsheet analysis
  • Comprehensive JSON: Full data export with metadata

โ™ฟ Accessibility Features

  • Keyboard Navigation: Full keyboard support for all interactions
  • Screen Reader: ARIA labels and semantic HTML structure
  • Font Size Control: Adjustable text sizes for better readability
  • High Contrast: Dark mode support for visual accessibility
  • Focus Management: Clear focus indicators and logical tab order

๐Ÿ“ฑ Progressive Web App (PWA)

  • Offline Functionality: Works without internet connection
  • Installable: Add to home screen on any device
  • Service Worker: Advanced caching and background sync
  • Auto Updates: Seamless app updates with notifications
  • Network Awareness: Smart performance based on connection quality
  • Cross-Platform: Native app experience on desktop and mobile

๐Ÿš€ Demo

Enhanced Device Info App

Key Highlights:

  • ๐Ÿ”ด Real-time monitoring with live performance charts
  • ๐ŸŒ™ Dark/Light mode with smooth transitions
  • ๐Ÿ“ฑ PWA Ready - Install as native app, works offline
  • ๐Ÿ” Instant search across all device data
  • ๐Ÿ“Š Security scoring and privacy analysis
  • ๐Ÿ’พ Multi-format exports (JSON, PDF, CSV, TXT)
  • โšก Service Worker - Advanced caching and auto-updates

๐Ÿ› ๏ธ Technologies Used

Frontend Framework

  • Next.js 15.1.2: React framework with App Router and Turbopack support
  • React 19.0.0: Latest React with concurrent features
  • TypeScript Ready: Full TypeScript support for type safety

Styling & UI

  • Tailwind CSS 3.4.1: Utility-first CSS framework
  • Custom CSS Variables: Dynamic theming system
  • Heroicons: Beautiful SVG icon library
  • Google Fonts: Inter font family for modern typography

Data & Analytics

  • Bowser: Advanced browser detection library
  • Performance APIs: Native browser performance monitoring
  • Web APIs: Geolocation, Battery, Clipboard, WebGL, and more

Export & Utilities

  • jsPDF 3.0.1: Client-side PDF generation
  • jspdf-autotable 5.0.2: Advanced table generation for PDFs
  • Custom Security Utils: Data encryption and anonymization
  • CSV Generation: Custom CSV export functionality

Development Tools

  • ESLint: Code linting and quality assurance
  • PostCSS: CSS processing and optimization
  • Git Hooks: Automated code quality checks

๐Ÿš€ Getting Started

Follow these instructions to set up and run the project locally.

Prerequisites

  • Node.js 18+: Download from nodejs.org
  • npm/yarn/pnpm: Package manager (npm comes with Node.js)
  • Git: Version control system

๐Ÿ“ฆ Installation

  1. Clone the Repository

    git clone https://github.com/devSahinur/device-info-app.git
    cd device-info-app
  2. Install Dependencies

    npm install
    # or
    yarn install
    # or
    pnpm install
  3. Run Development Server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
  4. Open in Browser

    Navigate to http://localhost:3000 to see the application.

๐Ÿ› ๏ธ Available Scripts

npm run dev          # Start development server
npm run dev:turbo    # Start development server with Turbopack
npm run build        # Build for production
npm run start        # Start production server
npm run lint         # Run ESLint for code quality

๐Ÿ”ง Configuration

The app works out of the box, but you can customize:

  • Theme Colors: Edit CSS variables in app/globals.css
  • Font Settings: Modify font imports in app/layout.js
  • Performance Intervals: Adjust monitoring frequency in hooks
  • Export Settings: Customize PDF/CSV generation in components

๐Ÿ“ฑ Browser Support

Browser Version Status
Chrome 90+ โœ… Full Support
Firefox 88+ โœ… Full Support
Safari 14+ โœ… Full Support
Edge 90+ โœ… Full Support
Opera 76+ โœ… Full Support
Mobile Safari 14+ โœ… Full Support
Chrome Mobile 90+ โœ… Full Support

Feature Support

  • Basic Device Info: All modern browsers
  • Performance Monitoring: Chrome 90+, Firefox 88+, Safari 14+
  • Real-time Charts: All supported browsers
  • Export Functions: All supported browsers
  • Dark Mode: All supported browsers
  • Accessibility: All supported browsers

๐Ÿ—๏ธ Project Structure

device-info-app/
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ globals.css          # Global styles and theme variables
โ”‚   โ”œโ”€โ”€ layout.js           # Root layout with theme provider
โ”‚   โ””โ”€โ”€ page.js             # Main page component
โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ CollapsibleSection.js    # Expandable content sections
โ”‚   โ”œโ”€โ”€ DownloadManager.js       # Multi-format export system
โ”‚   โ”œโ”€โ”€ EnhancedDeviceInfo.js    # Main device info component
โ”‚   โ”œโ”€โ”€ InfoTable.js             # Data display table
โ”‚   โ”œโ”€โ”€ PerformanceChart.js      # Real-time chart component
โ”‚   โ”œโ”€โ”€ PerformanceMonitor.js    # System monitoring dashboard
โ”‚   โ”œโ”€โ”€ SecurityDashboard.js     # Security analysis component
โ”‚   โ””โ”€โ”€ ThemeToggle.js           # Dark/light mode toggle
โ”œโ”€โ”€ contexts/
โ”‚   โ””โ”€โ”€ ThemeContext.js          # Theme state management
โ”œโ”€โ”€ hooks/
โ”‚   โ”œโ”€โ”€ useEnhancedDeviceInfo.js # Device data collection
โ”‚   โ””โ”€โ”€ usePerformanceMonitor.js # Performance monitoring
โ”œโ”€โ”€ utils/
โ”‚   โ””โ”€โ”€ security.js              # Security and encryption utilities
โ””โ”€โ”€ TROUBLESHOOTING.md           # Common issues and solutions

๐ŸŽฏ Usage Examples

Basic Device Information

import { useEnhancedDeviceInfo } from '@/hooks/useEnhancedDeviceInfo';

function MyComponent() {
  const { deviceInfo, realtimeUpdates, toggleRealtimeUpdates } = useEnhancedDeviceInfo();
  
  return (
    <div>
      <h2>Browser: {deviceInfo?.['Browser Name']}</h2>
      <button onClick={toggleRealtimeUpdates}>
        {realtimeUpdates ? 'Stop' : 'Start'} Real-time Updates
      </button>
    </div>
  );
}

Performance Monitoring

import { usePerformanceMonitor } from '@/hooks/usePerformanceMonitor';

function PerformanceDisplay() {
  const { performanceData } = usePerformanceMonitor();
  
  return (
    <div>
      <p>CPU Usage: {performanceData.cpuUsage}%</p>
      <p>Memory: {performanceData.memoryUsage?.percentage}%</p>
      <p>Frame Rate: {performanceData.frameRate} FPS</p>
    </div>
  );
}

Theme Integration

import { useTheme } from '@/contexts/ThemeContext';

function ThemedComponent() {
  const { theme, toggleTheme } = useTheme();
  
  return (
    <div className={`${theme === 'dark' ? 'bg-gray-900' : 'bg-white'}`}>
      <button onClick={toggleTheme}>
        Switch to {theme === 'light' ? 'dark' : 'light'} mode
      </button>
    </div>
  );
}

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

Development Workflow

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Code Style

  • Follow the existing code style
  • Use meaningful commit messages
  • Add comments for complex logic
  • Ensure responsive design
  • Test accessibility features

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ‘จโ€๐Ÿ’ป Author

Sahinur


๐Ÿ™ Acknowledgments

  • Next.js for the amazing React framework
  • Tailwind CSS for the utility-first CSS framework
  • Heroicons for beautiful icons
  • jsPDF for client-side PDF generation
  • Bowser for browser detection
  • The open-source community for inspiration and support

๐Ÿ”ฎ Roadmap

  • PWA Support: Service worker and offline functionality โœ… COMPLETED
  • Data Persistence: Local storage for settings and history
  • Advanced Analytics: Historical performance tracking
  • Customizable Dashboard: Drag-and-drop interface
  • API Integration: External device database lookup
  • Notification System: Performance alerts and warnings
  • Multi-language Support: Internationalization (i18n)
  • Plugin System: Extensible architecture for custom features

โญ Star this repository if you found it helpful!

Built with โค๏ธ by Sahinur

About

A comprehensive, real-time device information and performance monitoring application built with modern web technologies. Get detailed insights about your device, monitor system performance, and export data securely.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •