eve-indy-job-tracker/README.md

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.