A desktop application for managing Pokemon SoulLink runs, built with Go and the Fyne GUI framework.
- Pokemon Search & Autocomplete: Search through all Pokemon species with real-time autocomplete
- Visual Pokemon Sprites: Display Pokemon sprites from the official Pokemon API
- SoulLink Management: Create and manage multiple SoulLink encounters
- Route Tracking: Associate encounters with specific routes or locations
- Nickname Support: Add custom nicknames for your linked Pokemon
- German Language Support: Interface and Pokemon names in German
- Data Persistence: Automatically saves and loads your SoulLink data to/from JSON file
- Go 1.24.5 or later
Important: The Pokemon database is not included in this repository for legal reasons. You need to build it yourself:
- Clone the PokeAPI repository
- Follow their instructions to build the SQLite database
- Place the built
db.sqlite3file in thedata/directory of this project
- Clone the repository:
git clone <repository-url>
cd soullink- Build the application:
go build -o soullink- Run the application:
./soullink- Set Route/Location: Enter the route or location where the encounter will occur
- Select Pokemon: Click on the "Pokemon" field and start typing to see autocomplete suggestions
- Add Nicknames: Optionally enter nicknames for each Pokemon
- Add More Encounters: Click "Neuer Encounter" to add additional SoulLink pairs
- Remove Encounters: Click the "×" button to remove unwanted encounters
- Your SoulLink data is automatically saved to
~/.soullink/soullinks.json - Data is loaded when the application starts
- Smart auto-save: Data is automatically saved when you finish editing fields or select Pokemon
- Data is also automatically saved when you close the application
The application follows clean architecture principles:
- UI Layer (
ui/): Fyne-based GUI components and user interactions - Data Layer (
data/): Database operations, data persistence, and data management - Model Layer (
models/): Data structures and business logic - Config Layer (
config/): Application configuration
fyne.io/fyne/v2- GUI frameworkgithub.com/mattn/go-sqlite3- SQLite database driver
