Flutter Real-Time CPU & RAM Monitor App with Animated Graphs – Full UI Code (FuzzuTech)

 Demo :


Click Video πŸ‘‡πŸ‘‡πŸ‘‡






















Features:

✔ Enable Title
✔ Allow Comments
✔ Use HTTPS
✔ Custom Permalink:
/flutter-cpu-ram-monitor-dashboard-animated-ui

Code :


pubspec.yaml:

dependencies:
  flutter:
    sdk: flutter
  fl_chart: ^1.1.1
  system_info2: ^3.0.2
  workmanager: ^0.5.0


  main.dart 


import 'dart:async';

import 'dart:math';

import 'package:flutter/material.dart';

import 'package:fl_chart/fl_chart.dart';


void main() {

  runApp(const MonitorApp());

}


class MonitorApp extends StatelessWidget {

  const MonitorApp({super.key});

  @override

  Widget build(BuildContext context) {

    return MaterialApp(

      debugShowCheckedModeBanner: false,

      theme: ThemeData.dark(),

      home: const MonitorScreen(),

    );

  }

}


class MonitorScreen extends StatefulWidget {

  const MonitorScreen({super.key});

  @override

  State<MonitorScreen> createState() => _MonitorScreenState();

}


class _MonitorScreenState extends State<MonitorScreen> {

  double cpu = 10;

  double ram = 20;


  final rnd = Random();


  @override

  void initState() {

    super.initState();

    Timer.periodic(const Duration(milliseconds: 900), (_) => animate());

  }


  void animate() {

    setState(() {

      cpu = rnd.nextInt(80) + rnd.nextDouble();

      ram = rnd.nextInt(90) + rnd.nextDouble();

    });

  }


  Widget card(String title, double value, Color color) {

    return Container(

      height: 200,

      margin: const EdgeInsets.all(16),

      padding: const EdgeInsets.all(20),

      decoration: BoxDecoration(

        color: Colors.black45,

        borderRadius: BorderRadius.circular(18),

        border: Border.all(color: color),

      ),

      child: Column(

        crossAxisAlignment: CrossAxisAlignment.start,

        children: [

          Text("$title: ${value.toStringAsFixed(1)}%",

              style: const TextStyle(fontSize: 20)),

          const SizedBox(height: 10),

          Expanded(

            child: LineChart(LineChartData(

              minY: 0,

              maxY: 100,

              titlesData: const FlTitlesData(show: false),

              gridData: const FlGridData(show: false),

              borderData: FlBorderData(show: false),

              lineBarsData: [

                LineChartBarData(

                  isCurved: true,

                  color: color,

                  barWidth: 4,

                  spots: [

                    FlSpot(0, value * .7),

                    FlSpot(1, value * .9),

                    FlSpot(2, value),

                  ],

                  dotData: const FlDotData(show: false),

                )

              ],

            )),

          )

        ],

      ),

    );

  }


  @override

  Widget build(BuildContext context) {

    return Scaffold(

      appBar: AppBar(

        title: const Text("Device Usage Monitor (Animated)"),

        backgroundColor: Colors.deepPurple,

      ),

      body: Column(

        children: [

          card("CPU Usage", cpu, Colors.purpleAccent),

          card("RAM Usage", ram, Colors.tealAccent),

        ],

      ),

    );

  }

}

 

Comments

Popular posts from this blog

Is This News Real or Fake? πŸ€– AI Exposes the Truth | FuzzuTech Python App Demo

🚨 Python Intrusion Detection System (IDS) – Real-Time ML + Tkinter GUI Project | FuzzuTech

Educational File Encryptor GUI (Python AES Project) | FuzzuTech