UnoEsso — a fitness app with progress visualization
Key Features
1. User Profile
• Avatar (upload your own photo via PhotosPicker).
• Personal data: name, age, height, weight, goal (e.g., “Keep Fit”).
• Automatic calculation of BMI and maximum heart rate.
• Ability to edit all data in a convenient sheet.
• Weekly statistics: calories, workout minutes, number of workouts, streak, and maximum heart rate.
• History of the last 5 workouts with access to detailed information.
• Achievements (e.g., First Steps, Streak, 10 Workouts).
• Reset all statistics with one button (with confirmation).
2. Workouts
• A dedicated Workouts section with categories: Cardio, Strength, Mobility, HIIT, Yoga.
• Beautiful cards with icons, taglines, and color accents.
• For each category, a list of workouts with filters by level and duration.
• Easy navigation through categories and workout plans.
3. Calendar
• A full-featured calendar highlighting days with scheduled workouts.
• Ability to add plans for selected days (with search across the workout database).
• View a list of workouts on a specific date.
• Delete or launch a plan directly from the calendar.
• Reminders integration:
• If at least one plan is scheduled for the day, the app creates a push notification at 00:00:
“You have unfinished tasks today.”
4. Pulse Measurement
• Camera-based heart rate monitor via PPG analysis (finger on the camera + flash).
• Real-time ring progress and BPM display.
• Smoothed values (no sudden spikes).
• At the end of a 30-second session, the average heart rate is calculated.
• Session data is saved to the profile.
• Smooth glow and pulsating text animations.
• Tips on how to properly place your finger.
5. Main Statistics
• On the home screen, weekly summary data is displayed:
• Calories burned, workout minutes, number of workouts, heart rate.
• Graphs: bar chart for calories and sparkline for minutes.
• Support for streak mechanics (daily activity).
6. Notifications
• In settings, you can enable/disable reminders.
• Local daily push notifications at 00:00 if there are plans in the calendar.
• Customizable notification text (e.g., “Don’t forget your workout today!”).
7. Settings
• Toggle for “Reminders.”
• System-style header with Done button.
• Clean UI with unnecessary elements removed.
Technologies
• SwiftUI for UI.
• MVVM architecture (Store, ViewModel, LocalStore).
• CoreData/LocalStore for profile and calendar storage.
• AVFoundation for camera access (heart rate measurement).
• UserNotifications for push notifications.
• Custom design system (AppTheme, AppFont, AppCard components, chips, BlueHeader).
Highlights
• Fully offline-oriented (all data stored locally).
• Beautiful animated UI system.
• Flexible calendar and planning system.
• Built-in heart rate monitor without Apple Watch.
• Notifications, achievements, and streak mechanics for motivation.