Skip to content

dandan002/quanta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quanta

A native iOS app for the 75 Hard mental toughness program. Track your daily tasks, stay honest, and complete all 75 days — no exceptions.

iOS 17+ Swift 6 SwiftUI SwiftData

Features

Phase 1 — Offline Core (Current)

  • Daily Checklist — See all 6 tasks the moment you open the app. Check them off throughout the day.
  • 75 Hard Defaults — Two 45-min workouts (one outdoor), diet adherence, 1 gallon water, 10 pages reading, progress photo.
  • Customizable Targets — Adjust water amount, page count, and task labels to fit your needs.
  • Workout Stopwatch — Full-screen timer with indoor/outdoor toggle, workout type, and duration tracking.
  • Reading Log — Dedicated tab with page-count grid and reading history.
  • Day Progress — Circular progress ring and 75-bar strip showing completed vs. remaining days.
  • Soft Reset — If you miss a day, the app lets you decide: restart from Day 01 or dismiss. No auto-resets.
  • Offline First — Everything works without internet. Data is stored locally via SwiftData.
  • Minimalist Design — Monochrome, distraction-free interface with sharp corners, hairline dividers, and haptic feedback.

Coming Soon

  • Progress Photos — In-app camera capture and 75-photo gallery (Phase 3)
  • Calendar History — Day-by-day calendar view of completed and missed days (Phase 2)
  • Smart Reminders — Adaptive push notifications (Phase 4)
  • Cross-Device Sync — Sign in with Apple and sync via Supabase (Phase 2)

Tech Stack

Layer Technology
Language Swift 6
UI SwiftUI
Persistence SwiftData (@Model, @Query, ModelContainer)
Architecture MVVM + Service Layer (@Observable)
Backend (planned) Supabase (Auth, Postgres, Storage)
Notifications (planned) UserNotifications
Testing Swift Testing + XCTest

Architecture

Quanta/
├── Models/
│   ├── Schema/          # SwiftData models + VersionedSchema migration plan
│   └── Types/           # TaskType enum
├── Services/
│   ├── DayID.swift           # Timezone-safe day ID generation
│   ├── DayService.swift      # Day records, task toggling, workout completion
│   ├── DayBoundaryService.swift  # Midnight detection, fail screen triggers
│   └── TaskConfigService.swift   # Default task configuration factory
├── Features/
│   ├── Today/           # Main checklist + progress ring + day strip
│   ├── Reading/         # Reading log with page grid
│   ├── Stopwatch/       # Full-screen workout timer
│   ├── Settings/        # Task label/target customization
│   ├── Onboarding/      # First-launch "75 days. No exceptions." screen
│   ├── Fail/            # Missed-day soft reset modal
│   └── Shell/           # Main tab shell + overlays
├── DesignSystem/
│   ├── Theme.swift           # Monochrome color tokens
│   ├── Typography.swift      # Display, Text, Mono type scales
│   └── Components/           # SharpButton, HairlineDivider
└── QuantaTests/              # Unit tests

Key patterns:

  • @Observable ViewModels for business logic
  • @MainActor Services for data operations
  • SwiftData @Query for reactive view updates
  • @AppStorage for simple user preferences
  • VersionedSchema with MigrationPlan for safe schema evolution
  • Timezone-safe DayID generation (YYYY-MM-DD in user's local timezone)

Getting Started

Requirements

  • Xcode 16+
  • iOS 17.0+ deployment target
  • Swift 6

Build & Run

  1. Clone the repository:

    git clone https://github.com/anomalyco/quanta.git
    cd quanta
  2. Open the project in Xcode:

  3. Select the Quanta scheme and run on a simulator or device.

No third-party dependencies are required for Phase 1. Supabase SDK will be added in Phase 2.

Running Tests

xcodebuild test -scheme Quanta -destination 'platform=iOS Simulator,name=iPhone 16'

Roadmap

Phase Focus Status
1. Foundation SwiftData models, daily checklist, task config, offline core ✅ Complete
2. Auth & Sync Supabase auth, cross-device sync, calendar history 📋 Planned
3. Progress Photos In-app camera, 75-photo gallery, cloud upload 📋 Planned
4. Notifications & Polish Adaptive reminders, App Store preparation 📋 Planned

License

Private — All rights reserved.

About

Vibe-coded fitness tracking app.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages