{"id":28962359,"url":"https://github.com/flini1we/healthreminder","last_synced_at":"2025-06-24T03:05:03.027Z","repository":{"id":299436988,"uuid":"1002646983","full_name":"flini1we/HealthReminder","owner":"flini1we","description":"iOS application for managing health-related reminders, built with UIKit, SwiftUI.","archived":false,"fork":false,"pushed_at":"2025-06-16T14:22:53.000Z","size":35151,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-24T03:05:01.084Z","etag":null,"topics":["animations","builder-pattern","combine-framework","deeplink","factory-pattern","ios","localnotifications","service-locator","snapshottest","swift","swiftdata","swiftui","testing","uikit","uitests","unittests","viper"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flini1we.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-15T22:47:00.000Z","updated_at":"2025-06-16T14:22:57.000Z","dependencies_parsed_at":"2025-06-16T15:47:19.268Z","dependency_job_id":null,"html_url":"https://github.com/flini1we/HealthReminder","commit_stats":null,"previous_names":["flini1we/healthreminder"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/flini1we/HealthReminder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flini1we%2FHealthReminder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flini1we%2FHealthReminder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flini1we%2FHealthReminder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flini1we%2FHealthReminder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flini1we","download_url":"https://codeload.github.com/flini1we/HealthReminder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flini1we%2FHealthReminder/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261595736,"owners_count":23182243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["animations","builder-pattern","combine-framework","deeplink","factory-pattern","ios","localnotifications","service-locator","snapshottest","swift","swiftdata","swiftui","testing","uikit","uitests","unittests","viper"],"created_at":"2025-06-24T03:04:58.126Z","updated_at":"2025-06-24T03:05:03.011Z","avatar_url":"https://github.com/flini1we.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Health Reminder\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./imagesAndGifs/images/ChatGPT Image 14 июн. 2025 г., 23_48_57.png\" width=\"200\"/\u003e\n\u003c/div\u003e\n\nA modern iOS application for managing health-related reminders, built with UIKit, SwiftUI, and following clean architecture principles.\n\n## Features\n\n- 📱 Create and manage health-related reminders\n- 🔔 Local notifications for timely reminders\n- 🎯 Multiple reminder categories (Water, Exercise, Vitamins, Sleep, etc.)\n- 🔄 Real-time updates using Combine\n- 🔗 Deep linking support\n- 📊 Detailed reminder information\n- 🎨 Modern UI with UIKit and SwiftUI integration\n\n\u003cimg src=\"./imagesAndGifs/gifs/Simulator-Screen-Recording-iPhone-16-Pro-2025-06-16-at-01.44.22.gif\" alt=\"screencast\" width=\"400\" /\u003e\n\n## Technical Stack\n\n- **Architecture**: VIPER, Service Locator\n- **UI**: UIKit, SwiftUI\n- **Data Flow**: Combine\n- **Persistence**: SwiftData\n- **Testing**: XCTest, Snapshot Testing\n- **Minimum iOS Version**: iOS 17.0+\n\n## Project Structure\n\n```\nHealthReminder/\n├── Application/        # App configuration and setup\n├── Assembly/           # Dependency injection\n├── Builders/           # Builder pattern implementations\n├── Custom/             # Custom UI components\n├── Extensions/         # Swift extensions\n├── Factories/          # Factory pattern implementations\n├── Formatters/         # Data formatting utilities\n├── Managers/           # Various managers\n├── Models/             # Data models\n├── Modules/            # Feature modules\n│   ├── RemindsModule/  # Main reminders list\n│   ├── RemindDetail/   # Reminder details\n│   └── CreateRemindModule/ # Create new reminder\n├── Resources/          # Assets and resources\n├── Services/           # Business logic services\n└── Support/            # Supporting files\n```\n\n## Architecture\n\nThe project follows a hybrid architecture approach:\n\n- **VIPER** for UIKit-based screens\n- **Service Locator** for dependency management\n- **Builder Pattern** for object creation\n- **Factory Method** for notification generation\n- **Combine** for reactive data flow\n\n## Features Implementation\n\n### Main Screen (UIKit)\n- Displays list of reminders using UITableView\n- VIPER architecture implementation\n- Real-time updates via Combine\n- \"+\" button to create new reminders\n\n### Create Reminder Screen (SwiftUI)\n- Text input and interval selection\n- Category selection with custom options\n- Builder pattern for Reminder creation\n- Integration via UIHostingController\n\n### Reminder Details Screen (SwiftUI)\n- Deep linking support\n- Opens from list or push notification\n\n## Testing\n\nThe project includes comprehensive testing:\n\n### Unit Tests\n- ReminderService logic\n- NotificationFactory functionality\n- Data persistence\n\n### Snapshot Tests\n- CreateReminderView\n- ReminderDetailView\n\n### UI Tests\n- Reminder creation flow\n- Deep linking from notifications\n- User interaction scenarios\n\n## Requirements\n\n- iOS 17.0+\n- Xcode 14.0+\n- Swift 5.0+\n\n## GitHub Topics\n\n```\nswift\nios\nswiftui\nuikit\nviper\ncombine\nswiftdata\nhealth\nreminders\nnotifications\nlocal-notifications\ndeeplink\nclean-architecture\nservice-locator\nbuilder-pattern\nfactory-pattern\n```\n\n## Author\n\nDanil Zabinskij\n\n## Acknowledgments\n\n- VIPER architecture pattern\n- SwiftUI and UIKit integration\n- Combine framework\n- Local notifications system \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflini1we%2Fhealthreminder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflini1we%2Fhealthreminder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflini1we%2Fhealthreminder/lists"}