Skip to content
Mrhandle12Public

About

Ionic, Angular ve Capacitor ile Android/iOS fon takip simülasyonu

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Pusula Fon Mobile

Pusula Fon; Ionic, Angular ve Capacitor ile geliştirilmiş, Android ve iOS projeleri birlikte gelen mobil fon takip demosudur. Gerçek API anahtarı veya JWT istemez. Cihaz içinde çalışan kontrollü simülasyon, fon fiyatlarını yaklaşık 2,8 saniyede bir değiştirir.

Bu proje yatırım tavsiyesi vermez. Fon değerleri ve portföy sonuçları yalnızca arayüz demosudur.

Platformlar

Platform Proje Özellikler
Android android/ Kamera, local notification, Android 13+ bildirim izni
iOS ios/ Kamera, local notification, Xcode/SPM projesi, iOS 15+
Web Angular geliştirme sunucusu Simüle veriler, uygulama içi bildirim olayı, kamera/dosya girdisi

Android kaldırılmamıştır. Depo iki native platformu da içerir.

Başlıca özellikler

  • 12 fonluk token gerektirmeyen canlı piyasa simülasyonu
  • Portföy özeti, takip listesi ve dönemsel getiri sıralaması
  • Fon detayında canlı SVG grafik, performans, risk ve varlık dağılımı
  • Kalıcı takip listesi ve fiyat alarmı kuralları
  • Capacitor Local Notifications ile Android/iOS sistem bildirimi
  • Capacitor Camera ile orta alt düğmeden doğrudan kamera açma
  • Ionic kart, chip, segment, searchbar, modal, toast, refresher, toggle ve listeleri
  • GitHub Actions üzerinde web, Android APK ve iOS Simulator derlemeleri

“Fon ara” tam olarak ne arar?

Ana ekrandaki Fon ara düğmesi, fon keşif ekranını açar. Arama kutusu simülasyondaki fonları şu üç metin alanında aynı anda arar:

  1. Fon kodu: AFA, KZL, TI2 gibi kısa kodlar
  2. Fonun tam adı: örneğin Amerika, Altın Katılım veya Para Piyasası
  3. Portföy yönetim şirketi: örneğin Ak Portföy, İş Portföy veya Kuveyt Türk

Örnekler:

Yazılan metin Beklenen eşleşme
AFA AFA kodlu fon
altın Adında altın geçen fonlar
Ak Portföy Şirketi Ak Portföy olan fonlar
para Para Piyasası adlı fonlar

Arama Türkçe büyük/küçük harfe duyarsızdır, kelime başlangıçlarını eşleştirir ve yazdıkça filtrelenir. Bu nedenle Ak Portföy araması OYAK Portföyü yanlışlıkla eşleştirmez. Ayrıca kategori chip’leriyle sonuçlar daraltılabilir. Bugün, 1 Hafta ve 1 Ay segmentleri arama alanı değildir; bulunan fonları seçilen dönemin getirisine göre büyükten küçüğe sıralar.

Bu sürümde arama yalnızca cihazdaki demo fon listesini tarar. İnternette, TEFAS’ta veya kullanıcının rehberinde arama yapmaz. Gerçek servise geçildiğinde aynı ekran bir API adaptörüne bağlanabilir.

Kamera ne yapar?

Alt çubuğun ortasındaki Kamera düğmesi başka bir sayfaya gitmez; doğrudan cihaz kamerasını açar:

  • Android’de sistem kamera uygulaması açılır.
  • iOS’ta sistem kamera arayüzü açılır ve ilk kullanımda izin istenir.
  • Web önizlemede tarayıcının desteklediği kamera veya dosya seçimi kullanılır.
  • Çekilen fotoğraf geçici önizlemede gösterilir; yeniden çekilebilir veya silinebilir.
  • Fotoğraf sunucuya gönderilmez ve uygulama kapanınca kaybolur.

Bu demo fotoğraftan fon kodu okuma, OCR veya yapay zekâ analizi yapmaz. Böyle bir özellik istenirse kamera çıktısı daha sonra açık kullanıcı onayıyla ayrı bir OCR/AI servisine bağlanmalıdır.

Kurulum

Gereksinimler:

  • Node.js 22
  • npm
  • Android için JDK 21 ve Android Studio/SDK
  • iOS için macOS ve güncel Xcode
npm ci
npm start

Web uygulaması varsayılan olarak http://localhost:4200 adresinde açılır.

Android

Android Studio’yu açmak için:

npm run cap:android

Yalnızca senkronizasyon ve debug APK derlemesi:

npm run build
npx cap sync android
cd android
./gradlew assembleDebug

Windows PowerShell’de son komut ./gradlew.bat assembleDebug olarak çalıştırılabilir. APK yolu:

android/app/build/outputs/apk/debug/app-debug.apk

iOS

iOS projesi depoda ios/App/App.xcodeproj olarak hazırdır. macOS üzerinde:

npm ci
npm run cap:ios

Xcode açıldıktan sonra:

  1. App hedefini seçin.
  2. Signing & Capabilities bölümünden Apple Developer takımınızı seçin.
  3. Gerekirse com.pusulafon.mobile bundle kimliğini size ait benzersiz bir değerle değiştirin.
  4. Simulator veya fiziksel iPhone seçip çalıştırın.
  5. Kamera ve bildirim izinlerini cihazdaki sistem pencerelerinden verin.

CI, kod imzası istemeyen iOS Simulator derlemesi alır. App Store veya fiziksel cihaz dağıtımı için Apple sertifikası ve provisioning profile gerekir; bunlar depoya eklenmemelidir.

iOS kamera açıklamaları ios/App/App/Info.plist içinde NSCameraUsageDescription ve NSPhotoLibraryUsageDescription olarak tanımlıdır.

GitHub’a yükleme

Projeyi boş bir GitHub deposuna göndermek için proje kökünde:

git init
git add .
git commit -m "feat: add Pusula Fon Android and iOS app"
git branch -M main
git remote add origin https://github.com/KULLANICI_ADINIZ/pusula-fon-mobile.git
git push -u origin main

GitHub deposunu oluştururken README veya .gitignore ekletmeyin; ikisi de projede hazırdır. node_modules, derleme klasörleri, Android local ayarları ve Xcode kullanıcı ayarları .gitignore içindedir.

Push sonrasında .github/workflows/ci.yml otomatik olarak:

  • Angular üretim derlemesini,
  • Android debug APK derlemesini,
  • iOS Simulator derlemesini

çalıştırır. APK ve Simulator .app çıktısı Actions sayfasında artifact olarak indirilebilir.

Proje yapısı

src/app/core/data/              Demo fonlar
src/app/core/services/          Simülasyon, kamera, bildirim ve takip listesi
src/app/pages/market/           Ana ekran ve Fon ara girişi
src/app/pages/discover/         Fon arama, filtreleme ve sıralama
src/app/pages/fund-detail/      Grafik, performans, dağılım ve alarm
src/app/pages/alerts/           Native bildirim ayarları ve geçmiş
src/app/pages/tabs/             Piyasam, Kamera ve Alarmlar alt çubuğu
android/                        Capacitor Android projesi
ios/                            Capacitor iOS/Xcode projesi
.github/workflows/ci.yml        GitHub Actions doğrulamaları

Veri ve gizlilik

  • Kamera fotoğrafı bellekte tutulur, kalıcı depolamaya veya sunucuya yazılmaz.
  • Takip listesi ve alarm kuralları cihazın yerel web depolamasında tutulur.
  • Projede gerçek token, API anahtarı veya kullanıcı hesabı yoktur.
  • Üretim sırları eklenirse GitHub Actions Secrets gibi güvenli bir yöntem kullanılmalıdır.

About

Ionic, Angular ve Capacitor ile Android/iOS fon takip simülasyonu

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages