Skip to content

Latest commit

 

History

History
192 lines (144 loc) · 6.43 KB

Readme.md

File metadata and controls

192 lines (144 loc) · 6.43 KB

IoTrace

IoTrace Logo

A powerful IoT evidence extraction and management system specifically designed for WearOS smartwatches.

Next.js TypeScript Supabase Gemini AI

Team Members

  • Pranav Hemanth - PES1UG23CS433 GitHub
  • Pranavjeet Naidu - PES1UG23CS586 GitHub
  • Shailja Shaktawat - PES1UG23CS534 GitHub
  • Nishant K Holla - PES1UG23CS401 GitHub

Overview

IoTrace is a specialized platform designed for extracting, analyzing, and managing evidence from IoT devices, with a particular focus on WearOS smartwatches. The platform leverages advanced AI capabilities to provide detailed insights into device behavior and patterns.

Key Features

  • 🔍 Smart Log Extraction: Automated extraction of logs from WearOS devices
  • 📊 Interactive Visualization: Real-time data visualization with charts and graphs
  • 🤖 AI-Powered Analysis: Intelligent log analysis using Google's Gemini AI
  • 📄 Evidence Reports: Generate comprehensive PDF reports for legal documentation
  • 🔒 Secure Storage: Enterprise-grade security with Supabase
  • 📱 Responsive Design: Mobile-first interface for easy access

Getting Started

Prerequisites

  • Node.js 18.x or later
  • npm or yarn
  • Supabase account
  • Google Cloud account (for Gemini AI)
  • WearOS device (tested with Samsung Watch5 Pro)

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/IoTrace.git
cd IoTrace
  1. Install dependencies:
cd frontend
npm install
  1. Set up environment variables:
cp .env.example .env.local
  1. Configure your environment variables in .env.local:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
NEXT_PUBLIC_GEMINI_API_KEY=your_gemini_api_key
  1. Start the development server:
npm run dev

Project Structure

IoTrace/
├── frontend/                    # Next.js frontend application
│   ├── app/                    # Next.js app directory (pages and routes)
│   │   ├── cases/             # Case management pages
│   │   ├── dashboard/         # Dashboard pages
│   │   ├── login/             # Authentication pages
│   │   └── signup/            # User registration pages
│   ├── components/            # Reusable UI components
│   │   └── ui/                # Base UI components
│   ├── lib/                   # Utility functions and services
│   │   ├── supabase.ts        # Supabase client configuration
│   │   ├── gemini.ts          # Gemini AI integration
│   │   └── pdf-generator.ts   # PDF report generation
│   └── public/                # Static assets
├── backend/                    # Backend services
│   ├── api/                   # API endpoints
│   │   ├── auth/             # Authentication endpoints
│   │   ├── cases/            # Case management endpoints
│   │   └── logs/             # Log processing endpoints
│   ├── services/             # Business logic services
│   │   ├── log-extractor/    # Log extraction service
│   │   ├── data-processor/   # Data processing service
│   │   └── report-generator/ # Report generation service
│   └── utils/                # Utility functions
├── supabase/                  # Supabase configuration
│   ├── migrations/           # Database migrations
│   ├── seed/                 # Seed data
│   └── types/                # TypeScript types
├── scripts/                   # Utility scripts
│   ├── setup.sh              # Project setup script
│   └── deploy.sh             # Deployment script
├── docs/                      # Documentation
│   ├── api/                  # API documentation
│   └── setup/                # Setup guides
├── tests/                     # Test files
│   ├── unit/                 # Unit tests
│   ├── integration/          # Integration tests
│   └── e2e/                  # End-to-end tests
├── .env.example              # Example environment variables
├── package.json              # Project dependencies
├── tsconfig.json             # TypeScript configuration
└── README.md                 # Project documentation

Features in Detail

Log Extraction

  • Automated extraction of system logs from WearOS devices
  • Support for multiple log types and formats
  • Real-time log streaming and processing

Data Visualization

  • Interactive time-series charts
  • Component distribution analysis
  • Customizable data views
  • Export capabilities

AI Analysis

  • Pattern recognition in device behavior
  • Anomaly detection
  • Component interaction analysis
  • Time-based pattern analysis

Evidence Reports

  • Professional PDF report generation
  • AI-enhanced insights
  • Customizable report templates
  • Secure storage and sharing

Security

  • End-to-end encryption for sensitive data
  • Role-based access control
  • Secure file storage
  • Audit logging

Contributing

  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

License

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

Acknowledgments

Support

For support, please open an issue in the GitHub repository or contact the maintainers.


Made with ❤️ by the IoTrace Team