A powerful, real-time desktop application for comprehensive activity tracking and productivity monitoring
Features โข Installation โข Usage โข Development โข Contributing
- Live Activity Tracking - Monitor window focus, application usage, and user interactions in real-time
- Automatic Screenshots - Capture periodic screenshots for visual activity logs
- Real-Time Dashboard - Live updates every 2 seconds without database polling
- Event-Driven Architecture - Efficient Tauri event system for instant updates
- Interactive Charts - Beautiful visualizations using Recharts (Bar, Pie, Line charts)
- Time Tracking - Detailed session tracking with duration analysis
- Usage Statistics - Application usage breakdown and productivity metrics
- Daily/Weekly Reports - Comprehensive activity summaries
- Dark/Light Themes - Seamless theme switching with system preference detection
- Smooth Animations - Complex yet minimalistic animations using Framer Motion
- Responsive Design - Optimized for all screen sizes
- Professional Interface - Clean, modern design with glassmorphism effects
- Advanced Search & Filtering - Filter activities by date, application, or keyword
- Screenshot Gallery - Interactive gallery with modal preview and download options
- Activity Feed - Real-time stream of all tracked events
- Productivity Scoring - AI-powered efficiency calculations
- React 18 - Modern React with hooks and functional components
- TypeScript - Type-safe development with full IntelliSense
- Tailwind CSS - Utility-first CSS framework for rapid styling
- Framer Motion - Production-ready motion library for React
- Recharts - Composable charting library built on React components
- shadcn/ui - High-quality, accessible UI components
- Rust - Systems programming language for performance and safety
- Tauri 2.0 - Cross-platform desktop app framework
- SQLite - Embedded database for local data storage
- Tokio - Asynchronous runtime for Rust
- Serde - Serialization framework for Rust
- Vite - Next generation frontend tooling
- ESLint & Prettier - Code linting and formatting
- Cargo - Rust package manager and build system
- Node.js (v18 or higher)
- Rust (latest stable version)
- Git
-
Clone the repository
git clone https://github.com/yourusername/soham-tracker.git cd soham-tracker -
Install dependencies
npm install
-
Run the development server
npm run tauri dev
# Build the application
npm run tauri build
# The built application will be in src-tauri/target/release/bundle/The main dashboard consists of four primary sections:
- Live System Status - Real-time tracking indicator
- Today's Metrics - Active time, screenshots, applications, and sessions
- Productivity Score - AI-calculated efficiency rating
- Recent Activity Preview - Latest tracked events
- Top Applications Chart - Bar chart showing most-used applications
- Usage Distribution - Pie chart of time allocation
- Timeline View - Hourly activity and productivity trends
- Session Analytics - Detailed session breakdowns
- Real-Time Events - Live stream of window focus/blur events
- Color-Coded Events - Visual distinction between event types
- Detailed Timeline - Chronological activity history
- Activity Statistics - Event counts and summaries
- Interactive Gallery - Grid view of captured screenshots
- Smart Search - Filter by date, filename, or content
- Modal Preview - Full-screen image viewing
- Download Options - Export screenshots individually
- โธ๏ธ Pause/Resume - Toggle tracking on/off
- ๐ Theme Toggle - Switch between dark and light modes
- โ๏ธ Settings Menu - Access preferences and data export options
User Activity โ Rust Backend โ SQLite Database โ Tauri Events โ React Frontend
main.rs- Application entry point and command registrationdb.rs- Database operations and schema managementscreenshot.rs- Screenshot capture servicefocus.rs- Window focus trackingevents.rs- System event monitoringrealtime.rs- Real-time update service
App.tsx- Root component with theme providerDashboard.tsx- Main dashboard componentdashboard/- Individual dashboard sectionshooks/useRealtime.ts- Real-time data management hooklib/theme-provider.tsx- Theme context and management
window_activities- Window focus/blur eventstime_logs- Session duration trackingscreenshots- Screenshot metadata and pathsaudit_events- System events and errors
soham-tracker/
โโโ src/ # React frontend
โ โโโ components/ # React components
โ โโโ hooks/ # Custom hooks
โ โโโ lib/ # Utilities
โ โโโ types/ # TypeScript definitions
โโโ src-tauri/ # Rust backend
โ โโโ src/ # Rust source code
โ โโโ icons/ # Application icons
โ โโโ Cargo.toml # Rust dependencies
โโโ public/ # Static assets
โโโ package.json # Node.js dependencies
# Start development server
npm run tauri dev
# Build for production
npm run tauri build
# Run frontend only
npm run dev
# Run linting
npm run lint
# Format code
npm run format
# Type checking
npm run type-check-
Backend (Rust)
- Add new Tauri commands in
src-tauri/src/lib.rs - Implement database operations in
src-tauri/src/db.rs - Update the database schema if needed
- Add new Tauri commands in
-
Frontend (React)
- Create new components in
src/components/ - Add new hooks in
src/hooks/ - Update TypeScript types in
src/types/
- Create new components in
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow the existing TypeScript/React patterns
- Use meaningful variable and function names
- Add comments for complex logic
- Ensure all tests pass
Please use the GitHub Issues page to report bugs. Include:
- Operating system and version
- Steps to reproduce
- Expected vs actual behavior
- Screenshots if applicable
This project is licensed under the MIT License - see the LICENSE file for details.
- Tauri Team - For the amazing cross-platform framework
- React Team - For the powerful UI library
- shadcn - For the beautiful UI components
- Vercel - For the Next.js inspiration
- Open Source Community - For all the amazing libraries and tools
Made with โค๏ธ by the Soham Tracker Team
โญ Star this repo โข ๐ Report Bug โข ๐ก Request Feature