FinCheck is a SwiftUI-based iOS app for browsing publicly available transparent bank accounts and their transactions using the official ČSAS public API.
- 🔍 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
- iOS 18.5
- SwiftUI + MVVM
URLSession
for networking.xcconfig
-based secret managementos_log
for logging
- Clone this repository:
git clone https://github.com/mustafos/TransparentAccountsApp.git
-
Open
TransparentAccountsApp.xcodeproj
in Xcode 15+ -
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 actualSecrets.xcconfig
— it's gitignored for security.
- Build and run the app.
Data is fetched from the official ČSAS Transparent Accounts API:
🔗 ERSTE Group
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
- Add search bar to filter accounts
- Support Dark Mode
- Add unit tests for
CSASService
- Refactor config/secret management via
.xcconfig
© 2025 Mustafa Bekirov