Skip to content

Native SwiftUI app for viewing transparent bank accounts using Česká spořitelna’s public API. Built with clean MVVM architecture, async/await networking, and modern SwiftUI patterns.

Notifications You must be signed in to change notification settings

mustafos/TransparentAccountsApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

🏦 FinCheck – Transparent Accounts Viewer

FinCheck is a SwiftUI-based iOS app for browsing publicly available transparent bank accounts and their transactions using the official ČSAS public API.


📱 Features

  • 🔍 Browse a list of transparent accounts
  • 📋 View detailed account info: IBAN, bank code, balance, transparency periods
  • 💸 Explore transactions with direction, sender, counterparty, and description
  • 🔄 Pull-to-refresh and loading states
  • ⚠️ Error messages on failure (network/decoding)
  • 🧩 Logging with os_log

⚙️ Tech Stack

  • iOS 18.5
  • SwiftUI + MVVM
  • URLSession for networking
  • .xcconfig-based secret management
  • os_log for logging

🚀 Getting Started

  1. Clone this repository:
git clone https://github.com/mustafos/TransparentAccountsApp.git
  1. Open TransparentAccountsApp.xcodeproj in Xcode 15+

  2. Set up the API key:

  • Create a file Secrets.xcconfig at the root of the project:
touch Secrets.xcconfig
  • Add the following content:
CSAS_API_KEY = your-public-api-key
  • Example template:
# Secrets.xcconfig.example
CSAS_API_KEY = <# Insert your CSAS API key here #>
  • Ensure Info.plist (already included) contains:
<key>CSAS_API_KEY</key>
<string>$(CSAS_API_KEY)</string>

💡 Secrets.xcconfig.example is included as a reference.
Do not commit your actual Secrets.xcconfig — it's gitignored for security.

  1. Build and run the app.

🔐 API Info

Data is fetched from the official ČSAS Transparent Accounts API:
🔗 ERSTE Group


🧪 Preview

FinCheck App


📁 Project Structure

TransparentAccountsApp
├── Models/
│   ├── Transaction/
│   │   ├── Transaction.swift
│   │   └── Transaction+Equatable.swift
│   └── Account.swift
├── Services/
│   └── CSASService.swift
├── ViewModels/
│   ├── AccountListViewModel.swift
│   └── TransactionListViewModel.swift
├── Views/
│   ├── Account/
│   │   ├── AccountListView.swift
│   │   └── AccountDetailView.swift
│   ├── Transaction/
│   │   ├── TransactionListView.swift
│   │   └── TransactionDetailView.swift
│   └── Components/
│       ├── InfoRow.swift
│       └── TransactionListCellView.swift
├── Utils/
│   ├── CSASLog.swift
│   ├── Secrets.swift
│   └── Extensions/
│       ├── Date+Ext.swift
│       └── Transaction+Ext.swift
├── Assets.xcassets
├── Info.plist
├── Secrets.xcconfig
├── TransparentAccountsAppApp.swift
└── TransparentAccountsAppTests/
├── MockTransactions.json
└── TransactionListViewModelTests.swift

✅ To Do

  • Add search bar to filter accounts
  • Support Dark Mode
  • Add unit tests for CSASService
  • Refactor config/secret management via .xcconfig

© 2025 Mustafa Bekirov

About

Native SwiftUI app for viewing transparent bank accounts using Česká spořitelna’s public API. Built with clean MVVM architecture, async/await networking, and modern SwiftUI patterns.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy