Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Zens - Focus Timer App

A beautiful, modern iOS focus timer app designed to help you stay productive and maintain focus during work sessions.

🌟 Features

Core Timer Functionality

  • Pomodoro Timer: 25-minute focus sessions with 5-minute short breaks and 15-minute long breaks
  • Beautiful UI: Gradient background with modern, clean design
  • Session Management: Editable session titles with emoji support
  • Timer Controls: Play/pause, reset, and picture-in-picture mode
  • Daily Motivational Quotes: Rotating inspirational messages

User Experience

  • Onboarding Flow: Welcome screens with Apple Sign In integration
  • Tab Navigation: Easy switching between Timer, Stats, and Profile
  • Sound Library: Ambient sounds and focus music (free + pro options)
  • Volume Control: Adjustable sound levels for optimal focus

Analytics & Progress

  • Comprehensive Stats: Track focus time, sessions, streaks, and averages
  • Visual Charts: Weekly and monthly progress visualization
  • Achievement System: Unlock badges for consistency and productivity
  • Session History: Detailed log of all completed sessions

Pro Features

  • Premium Backgrounds: 50+ curated background images
  • Extended Sound Library: 100+ premium focus sounds and music
  • Advanced Analytics: Detailed productivity insights and trends
  • Cloud Sync: Sync data across all your devices
  • Priority Support: Get help when you need it most

🎨 Design

  • Color Scheme: Beautiful gradient from blue (#223B70) to pink (#E07BE0)
  • Typography: SF Pro Rounded fonts for modern, readable text
  • UI Elements: Glass-morphism effects with rounded corners
  • Icons: SF Symbols for consistent iOS design
  • Layout: Clean, distraction-free interface optimized for focus

📱 Screenshots

The app includes the following main screens:

  • Timer View: Main focus timer with session controls
  • Stats View: Analytics, charts, and progress tracking
  • Profile View: User settings, achievements, and pro upgrade
  • Onboarding: Welcome flow with Apple Sign In
  • Sound Control: Music and ambient sound selection

🚀 Getting Started

Prerequisites

  • Xcode 15.0 or later
  • iOS 17.0 or later
  • Apple Developer Account (for device testing)

Installation

  1. Clone the repository
  2. Open zensapp.xcodeproj in Xcode
  3. Select your target device or simulator
  4. Build and run the project

Configuration

  • The app uses UserDefaults for data persistence
  • Apple Sign In requires proper app configuration
  • Push notifications need to be configured in Xcode

🏗️ Architecture

File Structure

zensapp/
├── zensappApp.swift          # Main app entry point
├── MainTabView.swift         # Tab navigation
├── ContentView.swift         # Main timer interface
├── OnboardingView.swift      # Welcome and sign-in flow
├── StatsView.swift           # Analytics and charts
├── ProfileView.swift         # User profile and settings
├── ProUpgradeView.swift      # Subscription management
├── SoundControlView.swift    # Music and sound selection
├── UserData.swift            # Data model and persistence
└── NotificationManager.swift # Local notifications

Key Components

  • UserData: ObservableObject for app state management
  • SessionRecord: Data model for tracking sessions
  • NotificationManager: Handles timer and reminder notifications
  • TimerMode: Enum for different timer types

🔧 Customization

Colors

The app uses a consistent color palette defined in the gradient:

  • Primary: Color(red: 0.133, green: 0.231, blue: 0.439) - #223B70
  • Secondary: Color(red: 0.878, green: 0.482, blue: 0.878) - #E07BE0
  • Accent: Color(red: 0.635, green: 0.349, blue: 1.0) - #A259FF

Timer Durations

Default durations can be modified in ContentView.swift:

  • Focus: 25 minutes
  • Short Break: 5 minutes
  • Long Break: 15 minutes

Sounds

Add new sounds by updating the sounds array in SoundControlView.swift

📊 Data Persistence

The app uses UserDefaults for:

  • User preferences and settings
  • Session history and statistics
  • Pro subscription status
  • Sound preferences

🔔 Notifications

The app supports:

  • Timer completion alerts
  • Daily streak reminders
  • Custom notification sounds

🛠️ Development

Adding New Features

  1. Create new SwiftUI views in the project
  2. Update MainTabView.swift for navigation
  3. Add data models to UserData.swift if needed
  4. Update persistence logic for new data

Testing

  • Test on different iOS versions
  • Verify timer accuracy across devices
  • Test notification permissions
  • Validate Apple Sign In flow

📄 License

This project is created for educational and personal use.

🤝 Contributing

Feel free to submit issues and enhancement requests!


Zens - Focus, track, and grow your productivity! 🚀

About

Reach Flowstate with Zens

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages