149 lines
No EOL
3.5 KiB
Markdown
149 lines
No EOL
3.5 KiB
Markdown
# 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. |