Skip to content

ozcotech/Denklem-SwiftUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

257 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿงฎ DENKLEM โ€“ Mediation Fee Calculator

DENKLEM (from Latin "aequare" = "to equalize") is a comprehensive native iOS application for calculating mediation fees according to Turkish law. Written from scratch with SwiftUI, the app performs calculations based on the 2025 and 2026 mediation fee tariffs.

The name "DENKLEM" reflects the concept of creating equality and balance between parties, which aligns perfectly with the essence of mediation: establishing balance and fair resolution between disputing parties.

๐Ÿš€ First Version Available on the App Store! Download now: DENKLEM on App Store

Built with Claude

This entire project was developed with the support of Claude by Anthropic โ€” from architecture decisions to code implementation, testing strategies, and accessibility improvements.


โœจ Why SwiftUI Version?

๐ŸŽฏ Native Performance

  • Faster: 60% faster calculations compared to the React Native version
  • Low Memory Usage: Average memory consumption below 50MB
  • Smooth Animations: Consistent 60fps performance
  • Instant Launch: App startup time under 2 seconds

๐ŸŒŸ Modern iOS Features

  • Liquid Glass Design: Modern glass effects for iOS 26.0+
  • Native Components: Fully SwiftUI and native iOS APIs
  • Future-Ready: Optimized for iOS 26.0+
  • Offline-First: Works completely offline

๐ŸŽจ Enhanced User Experience

  • Trilingual Support: Turkish, English, and Swedish (instant language switching)
  • Light/Dark Mode: Automatic theme support
  • Liquid Glass UI: Optional modern visual effects
  • Animated Background: Optional animated sky background
  • Accessibility: Full VoiceOver support

๐Ÿš€ Key Features

๐Ÿ’ฐ Core Functionality - Fee Calculation

  • 2025 & 2026 Official Tariffs: Based on current Turkish mediation fee tariff
  • Smart Calculation Engine: Handles both monetary and non-monetary disputes
  • Dual Scenario Support: Different calculations for agreement vs. non-agreement cases
  • Per-Screen Tariff Selection: Each calculation screen has its own year picker (2026 selected by default)

๐Ÿ“ฑ User Experience

  • Intuitive Step-by-Step Flow: Guided process from start to finish
  • Cable Connector System: Visual cable guides showing calculation flow paths
  • Native iOS Navigation: Swipe gestures and native transitions
  • Persistent Tab Bar: Quick access to home, calculations, legislation, and settings
  • Trilingual: Complete Turkish, English, and Swedish localization
  • Modern Native Design: Professional and user-friendly interface

๐Ÿงฎ Additional Calculators

  • Time Calculation: Calculate mediation process durations
  • Freelance Receipt (SMM): Receipt calculations with tax deductions
  • Attorney Fee Calculation: Power of attorney fee calculations in mediation process
  • Reinstatement Disputes: Calculations for reinstatement cases
  • Serial Disputes: Special calculations for serial dispute cases
  • Tenancy Disputes: Special calculations for eviction and rent determination disputes (attorney + mediation fees)
  • Comprehensive Results: Detailed explanations with tax implications

๐Ÿ”ง Technical Features

  • iOS 26.0+ Minimum: Optimized for latest iOS features
  • Native SwiftUI: Fully developed with Swift and SwiftUI
  • Offline Capability: No internet required for calculations
  • Real-Time Updates: Instant calculation results
  • Responsive Design: Optimized for all iPhone screen sizes

๐ŸŽจ Design System

  • Liquid Glass Theme: Modern glass effect styles for iOS 26.0+
  • Theme Support: Automatic Light and Dark mode switching
  • Consistent Components: Standard UI components throughout the app
  • Customizable Colors: Theme-based color system

๐Ÿ“ฑ User Journey & Screens

1. StartScreen (Welcome Screen)

Application entry point:

  • Mini Quiz: Quick legal knowledge survey
  • Entry Button: Direct navigation to calculations screen
  • Logo: App branding

2. CalculationsScreen (Calculations)

Central hub for all calculation types with categorized buttons:

  • General Calculation:
    • ๐Ÿงฎ Mediation Fee: General mediation fee calculation
  • Special Calculations:
    • ๐Ÿ  Tenancy Disputes: Eviction and rent determination
    • ๐Ÿ‘จโ€โš–๏ธ Reinstatement: Reinstatement dispute cases
    • ๐Ÿข Attorney Fee: Power of attorney fee in mediation
    • ๐Ÿ“‹ Serial Disputes: Serial dispute cases
  • Other Calculations:
    • ๐Ÿ“ SMM Calculation: Freelance receipt calculator
    • โฐ Time Calculation: Mediation process durations

3. MediationFeeScreen (Unified Calculation)

Single-screen mediation fee calculation with cable connector visual guides:

  • Year Selection: Dropdown picker for 2025/2026 tariff (2026 default)
  • Agreement Status: Toggle buttons (monetary disputes only)
  • Dispute Type: Dropdown menu with 10 dispute types
  • Cable Connectors: Visual circuit-board cables guiding users through the calculation flow
  • Input Fields: Agreement amount (agreed) or party count (not agreed)
  • Inline Result Card: Calculation results displayed directly on screen
  • Detailed View: Tap result card to open full result sheet

4. ResultScreen (Result Screen)

Comprehensive result display (as Sheet):

  • Main Fee: Calculated mediation fee
  • Tax Information: Withholding tax calculations when applicable
  • SMM Details: Complete SMM breakdown for professional invoicing

5. Additional Screens

  • TimeCalculationScreen: Calculate mediation process durations
  • SmmCalculationScreen: Detailed freelance receipt calculations
  • LegislationScreen: Access current mediation legislation
  • SettingsScreen: Language, theme, animated background, and about information

6. Tab Bar Navigation

Tab bar accessible from any screen:

  • ๐Ÿ  Home: Return to start screen
  • ๐Ÿงฎ Calculations: Access all calculation types (general, special, and other calculators)
  • ๐Ÿ“š Legislation: View legal legislation
  • โš™๏ธ Settings: Language selection (Turkish โ†” English โ†” Swedish), theme preferences (Light/Dark), animated background toggle, and about information

๐Ÿ“ธ Screenshots

Below are screenshots hosted in the separate screenshots repository: Denklem Screenshots Repository

Main Flow Screenshots

Start Screen
Start Screen
Calculations Screen
Calculations Screen
Dispute Type 1
Dispute Type 1
Dispute Type 2
Dispute Type 2

Input & Results Screenshots

Result Screen
Result Screen
Result Screen Light
Result Screen Light

Additional Calculators Screenshots

Attorney Fee
Attorney Fee
Legislation
Legislation
Settings
Settings

Images hosted in the Denklem-SwiftUI-screenshots repository. Links point to raw images on GitHub.


๐ŸŽฏ How It Works

Monetary Dispute - With Agreement:

  1. Calculations โ†’ Mediation Fee โ†’ Select year โ†’ "Monetary" โ†’ "Agreement" โ†’ Select dispute type
  2. Follow cable connector guides โ†’ Enter agreement amount
  3. View inline result card โ†’ Tap for detailed breakdown

Monetary Dispute - No Agreement:

  1. Calculations โ†’ Mediation Fee โ†’ Select year โ†’ "Monetary" โ†’ "No Agreement" โ†’ Select dispute type
  2. Follow cable connector guides โ†’ Enter number of parties
  3. View inline result card โ†’ Tap for detailed breakdown with SMM

Non-Monetary Dispute:

  1. Calculations โ†’ Mediation Fee โ†’ Select year โ†’ "Non-Monetary" โ†’ Select dispute type
  2. Follow cable connector guides โ†’ Enter number of parties
  3. View inline result card โ†’ Tap for detailed breakdown

Additional Features:

  • Tab Bar Navigation: Always accessible home, calculations, legislation, and settings
  • Cable Connector Guides: Visual flow indicators on calculation screens
  • Native iOS Controls: Natural iOS transitions and gestures

๐Ÿ› ๏ธ Tech Stack

Core Framework

  • SwiftUI: Modern declarative UI framework
  • Combine: Reactive programming
  • iOS 26.0+: Minimum supported version

Architecture

  • MVVM Pattern: Model-View-ViewModel architecture
  • Clean Architecture: Layered architecture structure
  • Protocol-Oriented: Protocol-based design

UI & Design

  • Liquid Glass Theme: Modern glass effect design (iOS 26+)
  • Custom Components: Custom UI components
  • Theme Manager: Dynamic theme management
  • Localization Manager: Multi-language support

Data & Calculation

  • Local Storage: Lightweight data storage with UserDefaults
  • Pure Swift Calculations: Calculation engines without dependencies
  • Validation Engine: Input validation system

๐Ÿ“… Version Information

  • Current Version: 2.5.6
  • Supported Years: 2025 and 2026 mediation tariffs
  • Platform: iOS 26.0+ / iPadOS 26.0+
  • Languages: Turkish (TR), English (EN), and Swedish (SV)
  • Last Update: March 2026
  • Based on: 2025 and 2026 official mediation fee tariffs

๐Ÿงช Development Setup

Requirements

  • macOS 26.0+ (a Mac with Apple M1 chip or later)
  • Xcode 26.0+
  • iOS 26.0+ / iPadOS 26.0+
  • Git

Installation Steps

# Clone the repository
git clone https://github.com/ozcotech/Denklem-SwiftUI.git
cd Denklem-SwiftUI

# Open with Xcode
open Denklem.xcodeproj

# Or from Xcode:
# File โ†’ Open โ†’ Select Denklem.xcodeproj

Running

  1. Open project in Xcode
  2. Select Denklem as target
  3. Choose simulator or physical device (iOS 26.0+)
  4. Run with Command + R

Build & Test

# Run test suite
Command + U (in Xcode)

# Or from terminal:
xcodebuild test -scheme Denklem -destination 'platform=iOS Simulator,name=iPhone 16 Pro'

๐Ÿ“‚ Project Structure

Denklem/
โ”œโ”€โ”€ App/
โ”‚   โ””โ”€โ”€ DenklemApp.swift          # Application entry point
โ”‚
โ”œโ”€โ”€ Models/
โ”‚   โ”œโ”€โ”€ Domain/                   # Business logic models
โ”‚   โ”œโ”€โ”€ Data/                     # Tariff data structures
โ”‚   โ””โ”€โ”€ Calculation/              # Calculation engines
โ”‚
โ”œโ”€โ”€ Views/
โ”‚   โ”œโ”€โ”€ Screens/                  # Screen views and ViewModels
โ”‚   โ”‚   โ”œโ”€โ”€ StartScreen/
โ”‚   โ”‚   โ”œโ”€โ”€ Calculations/
โ”‚   โ”‚   โ”œโ”€โ”€ MediationFee/         # Unified mediation fee calculation
โ”‚   โ”‚   โ”œโ”€โ”€ AttorneyFee/
โ”‚   โ”‚   โ”œโ”€โ”€ Reinstatement/
โ”‚   โ”‚   โ”œโ”€โ”€ SerialDisputes/
โ”‚   โ”‚   โ”œโ”€โ”€ TenancySpecial/
โ”‚   โ”‚   โ”œโ”€โ”€ TimeCalculation/
โ”‚   โ”‚   โ”œโ”€โ”€ SMMCalculation/
โ”‚   โ”‚   โ”œโ”€โ”€ Survey/
โ”‚   โ”‚   โ”œโ”€โ”€ Settings/
โ”‚   โ”‚   โ””โ”€โ”€ Legislation/
โ”‚   โ”œโ”€โ”€ Components/               # Reusable components
โ”‚   โ””โ”€โ”€ Modifiers/                # SwiftUI view modifiers
โ”‚
โ”œโ”€โ”€ Theme/                        # Theme system
โ”‚   โ”œโ”€โ”€ ThemeProtocol.swift
โ”‚   โ”œโ”€โ”€ LightTheme.swift
โ”‚   โ”œโ”€โ”€ DarkTheme.swift
โ”‚   โ””โ”€โ”€ LiquidGlass/              # Liquid Glass styles
โ”‚
โ”œโ”€โ”€ Localization/                 # Multi-language support
โ”‚   โ”œโ”€โ”€ LocalizationKeys.swift
โ”‚   โ””โ”€โ”€ LocalizationHelper.swift
โ”‚
โ”œโ”€โ”€ Localizable.xcstrings          # String catalog (project root)
โ”‚
โ”œโ”€โ”€ Constants/                    # Constants
โ”‚   โ”œโ”€โ”€ AppConstants.swift
โ”‚   โ”œโ”€โ”€ AttorneyFeeConstants.swift
โ”‚   โ”œโ”€โ”€ DisputeConstants.swift
โ”‚   โ”œโ”€โ”€ ReinstatementConstants.swift
โ”‚   โ”œโ”€โ”€ SerialDisputesConstants.swift
โ”‚   โ”œโ”€โ”€ TariffConstants.swift
โ”‚   โ”œโ”€โ”€ TenancyCalculationConstants.swift
โ”‚   โ””โ”€โ”€ ValidationConstants.swift
โ”‚
โ”œโ”€โ”€ Managers/                     # Managers
โ”‚   โ”œโ”€โ”€ ThemeManager.swift
โ”‚   โ””โ”€โ”€ LocaleManager.swift
โ”‚
โ”œโ”€โ”€ Extensions/                   # Extensions
โ”‚   โ”œโ”€โ”€ Foundation/
โ”‚   โ”œโ”€โ”€ SwiftUI/
โ”‚   โ””โ”€โ”€ UIKit/
โ”‚
โ””โ”€โ”€ Resources/                    # Resources
    โ””โ”€โ”€ Assets.xcassets/

๐ŸŽจ Design Features

Liquid Glass Effect (iOS 26.0+)

// Using Liquid Glass
GlassEffectContainer(spacing: theme.spacingM) {
    // Content
}
.liquidGlassEffect()
.interactive()  // Touch illumination

Theme System

// Using theme
@Environment(\.theme) var theme

Text("Title")
    .font(theme.title)
    .foregroundStyle(theme.textPrimary)
    .padding(theme.spacingM)

Localization

// Multi-language support
Text(LocalizationKeys.Home.welcome.localized)

// Dynamic language switching
LocaleManager.shared.setLanguage(.english)

๐Ÿค Contributing

This project is currently managed by a single developer. Please contact for suggestions and feedback.


๐Ÿ‘ค Author

ร–zkan Cรถmert


๐Ÿ“„ License

This project is licensed under the MIT License.


๐Ÿ™ Acknowledgments

  • Apple - For SwiftUI framework and development tools
  • iOS development community - For open source contributions
  • GitHub - For hosting and collaboration platform

๐Ÿ”„ Version History

v2.5.6 (March 2026) - Toggle Buttons, Cable Connectors & Accessibility

  • ๐Ÿ”˜ Toggle Button Design: New toggle button pairs for mediation and attorney fee screens (replaces segmented pickers)
  • ๐Ÿ”Œ Cable Connector System: Visual circuit-board cables showing calculation flow paths
  • ๐Ÿ“Š Inline Results: Calculation results now displayed directly on screen with tap-to-expand detail view
  • โ™ฟ VoiceOver Accessibility: Full VoiceOver support across all screens and shared components
  • ๐Ÿ‡ธ๐Ÿ‡ช Swedish Localization: Added Swedish language support
  • ๐Ÿ“ค Text Export: Share calculation results with detailed mediation fee breakdown as text file

v2.4.3 (February 2026) - Tenancy & Unified Mediation Fee Screen

  • ๐Ÿ  Tenancy Disputes (Kira Tahliye/Tespit): Special calculation module for eviction and rent determination disputes
    • Attorney fee calculation with Sulh Hukuk minimum enforcement
    • Mediation fee calculation with Art. 7/7 minimum enforcement
    • Unified screen with segmented picker (Attorney | Mediation)
  • ๐Ÿ”„ Unified Mediation Fee Screen: Merged DisputeTypeView + InputView into single MediationFeeView
    • Dropdown menu for dispute type selection (replaces 10-button grid)
    • Year picker, agreement selector, and input fields in one screen
    • Streamlined 2-step flow (DisputeCategoryView โ†’ MediationFeeView)
  • ๐Ÿ“Š Survey Feature: 2-question legal mini quiz with thank you card
  • โšก Performance: Cached Bundle.localizedBundle, removed dead code, shared theme defaults

v2.3.0 (February 2026) - Special Calculators & Navigation Update

  • ๐Ÿข Attorney Fee Calculation: New power of attorney fee calculator added for mediation process
  • ๐Ÿ“‹ Serial Dispute Calculation: New serial dispute calculator module added
  • ๐Ÿ‘จโ€โš–๏ธ Reinstatement Disputes: New calculation module for reinstatement cases
  • ๐Ÿ“ฑ Tab Bar Navigation Overhaul:
    • Previous tabs: Home, Legislation, About, Language button
    • New tabs: Home, Calculations, Legislation, Settings
    • Direct entry button on home screen for faster calculations
    • Language and theme preferences moved to Settings
    • About section integrated into Settings
  • ๐Ÿงฎ Calculations Screen Enhancement:
    • General mediation fee calculations
    • Special calculations category (Attorney Fee, Serial Disputes, Reinstatement)
    • Other calculations category (Time Calculator, SMM Calculator)
  • โšก Improved User Experience: Direct access from home screen to dispute type selection for faster workflow

v2.0.0 (January 2026) - SwiftUI Native Rewrite

  • โœจ Completely rewritten with SwiftUI
  • ๐ŸŽฏ iOS 26.0+ minimum requirement
  • ๐Ÿ“… 2025 and 2026 tariff support
  • ๐ŸŽจ Liquid Glass modern design system
  • ๐ŸŒ Turkish and English language support
  • โšก Native performance optimizations
  • ๐ŸŒ“ Light/Dark mode automatic theme
  • ๐Ÿ“ฑ Tab bar navigation system
  • ๐Ÿงฎ Enhanced calculation engines

v1.x (2025) - React Native Version

  • ๐Ÿ“ฑ First version with React Native
  • ๐Ÿ“… 2025 tariff support
  • ๐Ÿ‡น๐Ÿ‡ท Turkish only
  • ๐Ÿ“Š Basic calculation features

Made with โค๏ธ in Tรผrkiye

Developed to simplify mediation processes