Skip to content

lukashecke/soullink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SoulLink - Pokemon SoulLink Encounter Manager

A desktop application for managing Pokemon SoulLink runs, built with Go and the Fyne GUI framework.

Screenshot

Features

  • 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

Installation

Prerequisites

  • Go 1.24.5 or later

Database Setup

Important: The Pokemon database is not included in this repository for legal reasons. You need to build it yourself:

  1. Clone the PokeAPI repository
  2. Follow their instructions to build the SQLite database
  3. Place the built db.sqlite3 file in the data/ directory of this project

Building from Source

  1. Clone the repository:
git clone <repository-url>
cd soullink
  1. Build the application:
go build -o soullink
  1. Run the application:
./soullink

Usage

Add a SoulLink Encounter

  1. Set Route/Location: Enter the route or location where the encounter will occur
  2. Select Pokemon: Click on the "Pokemon" field and start typing to see autocomplete suggestions
  3. Add Nicknames: Optionally enter nicknames for each Pokemon
  4. Add More Encounters: Click "Neuer Encounter" to add additional SoulLink pairs
  5. Remove Encounters: Click the "×" button to remove unwanted encounters

Data Persistence

  • 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

Architecture

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

Dependencies

  • fyne.io/fyne/v2 - GUI framework
  • github.com/mattn/go-sqlite3 - SQLite database driver

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages