Skip to content

Pranavh-2004/IoTrace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

About

A non-invasive forensic tool for extracting, analyzing, and managing evidence from WearOS smartwatches. Placed 4th at CIDECODE 2.0

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors