Skip to content

theosementa/modulo-ios

Repository files navigation

Modulo

Build Status Swift iOS Roadmap TestFlight App Store Figma SonarQube License: CC BY-NC 4.0

A clean, focused savings tracker for iOS — set goals, log contributions, and watch your progress over time.

🧪 Beta available! Try the latest version on TestFlight and help shape the app before its App Store release.


Features

  • Multi-goal tracking — Create as many savings goals as you need, each with a target amount and optional deadline
  • Contributions — Log deposits and withdrawals per goal, with an optional label and date
  • Charts — Visualize your monthly net contributions over time with an interactive line chart
  • iCloud Sync — Your data syncs automatically across your devices via CloudKit
  • Customization — Choose your accent theme color and toggle haptic feedback
  • 🤖 Local AI (coming soon) — On-device AI integration to give you insights on your savings

Screenshots

803_1x_shots_so

Tech Stack

Language Swift 6.1
UI SwiftUI
Persistence SwiftData + CloudKit
Architecture Clean Architecture — modular Swift packages (Domain / Repository / Store / Provider)
Navigation NavigationKit
Code Quality SwiftLint · SonarQube · MobSF

Architecture

The project is split into 11 local Swift packages under Modules/, with a strict unidirectional dependency graph:

Utilities → Models → Persistence → Repositories → Stores → Providers → DesignSystem → Features

Each feature follows a layered pattern: View → ViewModel → Provider → Store → Repository → SwiftData.

See CLAUDE.md for a detailed breakdown of conventions and file placement.


Getting Started

Requirements: Xcode 16+, iOS 17+ simulator or device.

git clone https://github.com/theosementa/modulo-ios.git
cd modulo-ios
open Modulo.xcodeproj

Select the Modulo scheme, choose a simulator, and hit Run. No additional setup required.


Roadmap

Upcoming features and improvements are tracked on the GitHub Project board.

Feature requests and suggestions are welcome — feel free to open an issue.


Contributing

Contributions are welcome! Feel free to open an issue to report a bug, suggest a feature, or discuss the architecture. Pull requests are appreciated.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Commit your changes
  4. Open a pull request against develop

Author & Contributors

Role Person
Architect & Developer Theo Sementa
App Icons Design Zoé Cridel
AI Developer Claude (Anthropic)

About

A clean, focused savings tracker for iOS — set goals, log contributions, and watch your progress over time.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages