# EVE Industry Tracker A lightweight PHP application for tracking EVE Online industry jobs across multiple characters in a clean, simple dashboard. No database required, built on ESI (EVE Swagger Interface). ## Features ### Core Functionality - Monitor all industry jobs in real-time - Multi-character support - Blueprint inventory tracking - Auto-refreshing countdown timers - Session export/import system - Mobile-responsive design ### Technical Features - EVE SSO Authentication - ESI token management & auto-refresh - Local caching system - Session-based storage - Zero database requirements ## Requirements - PHP 7.4+ - SSL certificate (for EVE SSO) - Web server (Apache/Nginx) - Required PHP extensions: - curl - json - session ## Installation 1. Register at EVE Developers Portal - Create application at https://developers.eveonline.com - Set callback URL to `https://your-domain/callback.php` - Required scopes: - `esi-industry.read_character_jobs.v1` - `esi-characters.read_blueprints.v1` 2. Server Setup ```bash # Create cache directory mkdir cache chmod 755 cache chown www-data:www-data cache # Create config file cp config.example.php config.php ``` 3. Configure Application ```php // config.php define('CLIENT_ID', 'your-eve-client-id'); define('CLIENT_SECRET', 'your-eve-client-secret'); define('CALLBACK_URL', 'https://your-domain/callback.php'); ``` 4. Web Server Configuration Example Nginx configuration: ```nginx server { listen 443 ssl; server_name your-domain; root /path/to/eveindy; index index.php; # SSL Configuration ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; # PHP Processing location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php-fpm.sock; } # Static files location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 1y; add_header Cache-Control "public, no-transform"; } } ``` ## Project Structure ``` eveindy/ ├── assets/ # Static files (CSS, images) ├── cache/ # Cache directory ├── config.php # Configuration ├── functions.php # Core functions ├── callback.php # EVE SSO handling ├── dashboard.php # Main dashboard ├── index.php # Entry point └── session_bootstrap.php ``` ## Core Functions ### Authentication - `refresh_token()`: Token refresh handling - `is_token_expired()`: Token validation ### Data Retrieval - `fetch_character_jobs()`: Get industry jobs - `fetch_character_blueprints()`: Get blueprints - `fetch_type_names()`: Get item information - `fetch_system_names()`: Get location data ### Caching - `populate_blueprint_cache()`: Update blueprint cache - `clean_cache()`: Maintain cache - `get_cache_data()`: Read cache - `set_cache_data()`: Write cache ## Security Features - EVE SSO authentication - Session-based data storage - No permanent data storage - Secure cookie handling - SSL/TLS required ## Session Management - 14-day session lifetime - Exportable session data - Cross-device compatibility - Zero server-side storage ## Contributing 1. Fork the repository 2. Create feature branch 3. Commit changes 4. Push to branch 5. Create Pull Request ## License This project is licensed under the MIT License. ## Credits EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights reserved. Used with permission.