Skip to content

Repository files navigation

evekit logo

EVEKit

English | 简体中文

A native iOS / iPadOS app that lets EVE Online pilots track their character and game data — assets, contracts, fittings, industry, market orders, planets, mining, skill queues, wallets, killmails, and more — all fetched through the official EVE Online ESI API and OAuth SSO.

💡 Don't want to build it yourself? evekit is available on the App Store — download it here.

Preview

Character detail and assets overview Wallet, market orders and industry jobs Skill queue, fittings and planets

Tech Stack

  • Language / UI: Swift 5.0 · SwiftUI · Charts
  • Architecture: Observation + SwiftData
  • Auth: EVE SSO (OAuth 2.0 + PKCE); tokens stored in the iOS Keychain
  • Minimum deployment target: iOS / iPadOS 26.5
  • Dependencies: Kingfisher (image loading, via Swift Package Manager)

Features

  • Multi-character login and management (OAuth SSO)
  • Assets / Contracts / Industry / Market Orders / Wallet / Corporation Wallet
  • Fittings / Planets / Mining
  • Skill Queue / Calendar / Killmails
  • Discover page

Getting Started

1. Clone and open

git clone <your-repo-url> evetracker
cd evetracker
open evetracker.xcodeproj

Xcode will automatically resolve Swift Package dependencies such as Kingfisher.

2. Configure signing

Open evetracker.xcodeproj, and under Signing & Capabilities select your own Developer Team for each of the three targets — the app, Tests, and UITests. No Team ID is bundled with the repository.

3. Register an EVE Online application (required)

This app requires EVE Online SSO for login. You need to register your own application and fill its Client ID into the code:

  1. Go to the EVE Developer PortalMy Applications → create a new application.
  2. Set the callback URL (Redirect URI) to:
    eveauthtracker://callback
    
  3. Select the scopes your application needs. This project requests all 63 ESI scopes plus publicData by default (see EVEConfig.swift); assign the same scopes to your application in the developer portal.
  4. Copy the application's Client ID.

4. Fill in the Client ID

Open evetracker/EVEConfig.swift and replace the empty string with your Client ID:

static let clientID = "YOUR_CLIENT_ID"

This field is empty by default in the repository — exactly the state an open-source project should ship in, so no credentials are ever leaked. The redirectScheme (eveauthtracker) must match the scheme registered in the developer portal.

5. Run

Select a simulator or device and press Cmd + R.

Project Structure

evetracker/
├── evetrackerApp.swift          # App entry point
├── EVEConfig.swift              # SSO / ESI config (fill in clientID here)
├── Auth/                        # OAuth/SSO + PKCE + Keychain
├── Networking/                  # ESI API client
├── Storage/                     # Keychain secure storage
├── Models/                      # Data models (mapped to ESI entities)
├── Features/                    # Feature modules
└── Views/                       # Top-level views

License

This project is licensed under the MIT License.

About

A native iOS app that lets EVE Online pilots track their character

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages