No description
assets | ||
.gitignore | ||
.htaccess | ||
404.php | ||
blueprints_dashboard.php | ||
callback.php | ||
dashboard.php | ||
export.php | ||
functions.php | ||
import.php | ||
index.php | ||
keep_alive.php | ||
login.php | ||
logout.php | ||
Nginx.conf | ||
populate_cache.php | ||
project_description.md | ||
README.md | ||
session_bootstrap.php | ||
track_visits.php | ||
views.php | ||
visits.json | ||
visits.txt |
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
-
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
-
Server Setup
# Create cache directory mkdir cache chmod 755 cache chown www-data:www-data cache # Create config file cp config.example.php config.php
-
Configure Application
// config.php define('CLIENT_ID', 'your-eve-client-id'); define('CLIENT_SECRET', 'your-eve-client-secret'); define('CALLBACK_URL', 'https://your-domain/callback.php');
-
Web Server Configuration
Example Nginx configuration:
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 handlingis_token_expired()
: Token validation
Data Retrieval
fetch_character_jobs()
: Get industry jobsfetch_character_blueprints()
: Get blueprintsfetch_type_names()
: Get item informationfetch_system_names()
: Get location data
Caching
populate_blueprint_cache()
: Update blueprint cacheclean_cache()
: Maintain cacheget_cache_data()
: Read cacheset_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
- Fork the repository
- Create feature branch
- Commit changes
- Push to branch
- 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.