CryptoTracker ist eine iOS-App, die es Benutzern ermöglicht, Kryptowährungen in Echtzeit zu verfolgen, Preischarts zu analysieren und favorisierte Coins zu speichern. Die App nutzt Firebase zur Benutzerauthentifizierung und Firestore zur Speicherung von Favoriten sowie Keychain für sichere API-Schlüssel.
- Echtzeit-Kryptodaten: Anzeige aktueller Preise und Marktdaten
- Preisdiagramme: Historische Preisdaten in interaktiven Charts
- Favoriten speichern: Nutzer können Coins als Favoriten markieren
- Benutzerauthentifizierung: Sign-In/Sign-Up mit Firebase
- API-Schlüssel sicher speichern: Keychain zur sicheren Speicherung des API-Keys
-
Xcode (aktuelle Version empfohlen; Xcode nutzt den integrierten Dependency Manager, sodass kein
pod installmehr notwendig ist) -
Firebase-Setup:
- Erstelle ein Firebase-Projekt auf Firebase Console
- Lade die
GoogleService-Info.plistherunter und füge sie in dein Xcode-Projekt ein
-
API-Key generieren:
- Registriere dich auf CoinGecko oder einer ähnlichen API-Plattform
- Speichere den API-Key sicher in der Keychain:
let keychain = Keychain() try? keychain.set("DEIN_API_KEY", key: "CryptoAPIKey")
API-Key abrufen:
// Beispiel: API-Key aus der Keychain abrufen if let apiKey = try? keychain.get("CryptoAPIKey") { // API-Key erfolgreich abgerufen, nun hier verwenden print("API Key: \(apiKey)") } else { // Fehler: API-Key konnte nicht abgerufen werden print("Kein API-Key in der Keychain gefunden.") }
-
Repository klonen:
git clone https://github.com/jchillah/CryptoTracker.git cd CryptoTracker -
Xcode öffnen:
- Öffne die Projektdatei CryptoTracker.xcodeproj
- Xcode lädt automatisch alle Abhängigkeiten über den integrierten Dependency Manager
-
API-Key auf https://newsapi.org/ erstellen
- API Key in der CryptoTrackerApp.swift eintragen an der Stelle "YOUR_API_KEY_Here"
- an angegebener Stelle den Code entkommentieren
-
App starten:
- Wähle einen iOS-Simulator oder ein physisches Gerät aus.
- Klicke auf Run (▶) in Xcode.
- den entkommentierten Text löschen oder wieder kommentieren sonst wird der API-Key bei jedem App start erneut gesetzt
CryptoTracker/
├── CryptoTrackerApp.swift # Haupt-App-Datei
├── Views/ # SwiftUI Views
├── ViewModels/ # MVVM ViewModels
├── Repositories # Firestore-Services
├── Services/ # API-Services
├── Models/ # Datenmodelle
├── Utils/ # Hilfsfunktionen
├── Resources/ # Assets, GoogleService-Info.plist
└── README.md Die App verwendet SwiftData zur persistenten Speicherung von Daten (z. B. gespeicherte Kryptowährungsdaten oder Preishistorien). Das persistierbare Modell wird über SwiftData als CryptoEntity bzw. ChartDataEntity definiert. Im Code werden die Daten in SwiftData (ModelContainer und ModelContext) gespeichert und bei Fehlern (wie dem API-Limit) als Fallback geladen. Dadurch bleiben die Daten auch nach einem Neustart der App verfügbar.
Stelle sicher, dass du deinen API-Key niemals öffentlich in GitHub oder ähnlichen Repositories veröffentlichst. Die oben gezeigten Beispiele zur sicheren Speicherung und zum Abruf des API-Keys mit der Keychain sollen dir dabei helfen, die Sicherheit deiner Anwendung zu erhöhen.
Beiträge sind herzlich willkommen! Bitte lese unsere CONTRIBUTING.md für Details zum Verhaltenskodex und zum Einreichungsprozess. Solltest du Änderungen oder neue Features vorschlagen wollen, erstelle bitte ein Issue mit einer detaillierten Beschreibung der gewünschten Änderungen.
Dieses Projekt ist proprietary. Alle Rechte sind vorbehalten. Der Code darf ohne ausdrückliche schriftliche Genehmigung des Autors nicht in anderen Apps oder Projekten verwendet werden.
Für Fragen, Feedback oder Beiträge kontaktiere bitte: Michael.Winkler.Developer@gmail.com