A web application that tracks and displays custom alliance logos in EVE Online. This project automatically monitors all alliances in the game to detect when they upload custom logos and presents them in an organized, chronological format.
Visit logos.zzeve.com to see the latest alliance logos.
EVE Online alliances can upload custom logos to personalize their organizations. This project:
- Tracks all alliances in EVE Online via the ESI (EVE Swagger Interface) API
- Detects new custom logos by monitoring image endpoints
- Organizes logos chronologically by when they were first detected and when alliances were founded
- Generates a clean web interface to browse and discover alliance logos
- Updates automatically via GitHub Actions on a weekly schedule
- Fetch Alliance List: Retrieves all alliance IDs from ESI API
- Check for New Alliances: Adds metadata for any previously unknown alliances
- Logo Detection: Checks image endpoints to detect custom logos (non-default images)
- Data Storage: Stores alliance data and logo status in SQLite database
- Web Generation: Creates static HTML page and JSON data file
- Auto-Deploy: GitHub Pages serves the updated content
app.js- Main application logic for data fetching and processingdocs/index.html- Generated static websitedocs/alliances_with_logos.json- JSON API endpoint with alliance dataalliances.db- SQLite database storing alliance information.github/workflows/weekly-logo-update.yml- Automated update workflow
- Runtime: Node.js 20
- Database: SQLite (via better-sqlite3)
- HTTP Client: node-fetch
- Frontend: Bootstrap 2.2.2, jQuery 1.8.3
- Hosting: GitHub Pages
- Automation: GitHub Actions
- APIs: EVE Online ESI API, EVE Image Server
The project runs automatically every Tuesday at 13:00 UTC via GitHub Actions:
- Fetches latest alliance data from ESI
- Checks for new custom logos
- Updates the database and generated files
- Commits changes back to the repository
- GitHub Pages automatically deploys the updates
- Latest Logos: Shows the most recently detected custom logos
- Historical View: Organizes alliances by their founding month/year
- Direct Links: Each logo links to the alliance's zKillboard page
- Responsive Design: Works on desktop and mobile devices
- Comprehensive Tracking: Monitors all EVE Online alliances
- Logo Detection: Identifies custom logos vs. default placeholders
- Historical Data: Tracks when logos were first detected
- JSON API: Provides structured data for other applications
- Node.js 20 or later
- Git
# Clone the repository
git clone https://github.com/zKillboard/logos.zzeve.com.git
cd logos.zzeve.com
# Install dependencies (no package.json needed)
npm install better-sqlite3@^12.2.0 node-fetch@^3.3.2 --no-package-lock --no-save
# Run the application
node app.js# Check the generated files
ls -la docs/
cat docs/alliances_with_logos.json | head -20
# View the website locally
# Open docs/index.html in your browserCREATE TABLE alliances (
id INTEGER PRIMARY KEY, -- Alliance ID from ESI
ticker TEXT, -- Alliance ticker/abbreviation
startDate TEXT, -- Alliance founding date (ISO format)
size INTEGER, -- Logo file size in bytes
has_custom_logo BOOLEAN, -- Whether alliance has custom logo
logoSince TEXT, -- Date when logo was first detected
last_checked TEXT -- Last time this alliance was checked
);{
"newest": [ // Latest logos detected
{
"id": 99007335,
"ticker": "HABIT",
"logoSince": "2025-10-28",
"startDate": "2017-03-26T06:06:02Z"
}
],
"hasLogos": { // Grouped by alliance founding month
"2024-03": [...],
"2023-12": [...]
}
}- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test locally with
node app.js - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open source and available under the MIT License.
- CCP Games for providing the EVE Online ESI API
- zKillboard for hosting and maintaining this project
- Squizz Caphinator for the original concept and development
- EVE Online Community for the inspiration to track alliance logos
- Issues: Report bugs or request features via GitHub Issues
- EVE Online: This project is not affiliated with CCP Games
- zKillboard: Visit zkillboard.com for EVE Online killboard data
This project is a community tool for EVE Online players and is not affiliated with CCP Games.