Sterlen b4b2bfe749 feat: Implement husband features and fix iOS Safari web startup
Implement initial features for husband's companion app, including mock data
service and husband notes screen. Refactor scripture and cycle services
for improved stability and testability. Address iOS Safari web app
startup issue by removing deprecated initialization.

- Implemented MockDataService and HusbandNotesScreen.
- Converted _DashboardTab and DevotionalScreen to StatefulWidgets for robust
  scripture provider initialization.
- Refactored CycleService to use immutable CycleInfo class, reducing UI rebuilds.
- Removed deprecated window.flutterConfiguration from index.html, resolving
  Flutter web app startup failure on iOS Safari.
- Updated and fixed related tests.
2025-12-26 22:40:52 -06:00
2025-12-19 22:47:27 -06:00

Christian Period Tracker

A faith-centered period and fertility tracking app for Christian women and their husbands.

Features

Wife's App (Primary)

  • Cycle Tracking - Period logging, predictions, and phase identification
  • Symptom Logging - Mood, energy, cramps, and more
  • Daily Devotionals - Phase-specific scripture and reflections
  • NFP Support - BBT, cervical mucus tracking (for married users)
  • Calendar View - Color-coded cycle visualization
  • Private Data - All data stored locally on device

Husband's Companion App

  • Cycle Overview - See where she is in her cycle
  • Support Tips - Phase-specific ways to help
  • Scripture - Verses for loving husbands
  • Learning Library - Understanding her cycle, biblical manhood

Marital Status Awareness

The app adapts content based on relationship status:

  • Single/Engaged: Health tracking only, no intimacy/fertility content
  • Married: Full features including NFP, fertility window, partner sharing

Tech Stack

  • Framework: Flutter 3.24+
  • State Management: Riverpod
  • Local Database: Hive (privacy-first, no cloud required)
  • UI: Material 3 + Custom Design System
  • Fonts: Outfit (UI), Lora (Scripture)

Getting Started

Prerequisites

  • Flutter SDK 3.24+
  • Dart 3.5+

Installation

# Clone the repository
cd christian_period_tracker

# Install dependencies
flutter pub get

# Generate Hive adapters (if needed)
dart run build_runner build --delete-conflicting-outputs

# Run the app
flutter run

Platforms

  • iOS (iPhone + iPad)
  • Android (Phone + Tablet)
  • Web (Progressive Web App)

Project Structure

lib/
├── main.dart                    # App entry point
├── theme/
│   └── app_theme.dart           # Color palette, typography
├── models/
│   ├── user_profile.dart        # User & relationship status
│   ├── cycle_entry.dart         # Daily tracking data
│   └── scripture.dart           # Scripture database
├── screens/
│   ├── splash_screen.dart       # Animated splash
│   ├── onboarding/              # Welcome, name, status, cycle setup
│   ├── home/                    # Dashboard with cycle ring
│   ├── calendar/                # Month view with phase markers
│   ├── log/                     # Symptom & period logging
│   ├── devotional/              # Daily scripture & reflection
│   └── husband/                 # Husband companion screens
└── widgets/
    ├── cycle_ring.dart          # Animated progress ring
    ├── scripture_card.dart      # Phase-colored verse display
    ├── quick_log_buttons.dart   # Quick action buttons
    └── tip_card.dart            # Contextual tips

Color Palettes

Wife's App

Color Hex Usage
Blush Pink #F8E1E7 Backgrounds, accents
Rose #E8A0B0 Secondary actions
Sage Green #A8C5A8 Primary, CTAs
Lavender #D4C4E8 Tertiary, calm states
Cream #FDF8F5 Scaffold background

Husband's App

Color Hex Usage
Navy Blue #2C3E50 Primary
Steel Blue #5D7B93 Secondary
Warm Cream #F5F0E8 Background
Gold #C9A961 Accents, scripture

Privacy

  • Local-first: All data stored on device using Hive
  • No account required: Works fully offline
  • Optional cloud sync: Future feature with end-to-end encryption
  • Biometric lock: Planned for sensitive data

License

MIT

Contributing

Contributions welcome! Please read the contribution guidelines first.

Description
No description provided
Readme 9.6 MiB
Languages
Dart 93.4%
C++ 3.2%
CMake 2.6%
Swift 0.3%
HTML 0.3%
Other 0.2%