A comprehensive prayer and praise tracking application available as both a Progressive Web App (PWA) and React Native mobile app. Track prayer requests, manage follow-ups, and celebrate answered prayers across all your devices.
- Prayer Management: Add, edit, and track prayer requests for people you care about
- Follow-up System: Schedule and manage prayer follow-ups with reminders
- Praise Tracking: Record and celebrate answered prayers and blessings
- Cross-Platform: Available as PWA and native mobile apps
- Offline Support: Works without internet connection
- Data Sync: Shared business logic ensures consistent experience
- Progressive Web App: Install on desktop and mobile browsers
- Service Worker: Background sync and offline functionality
- Push Notifications: Web-based notifications for reminders
- Responsive Design: Optimized for all screen sizes
- Native Performance: Smooth animations and native UI components
- Push Notifications: Native notifications for iOS and Android
- Offline Storage: Local data persistence with AsyncStorage
- Platform Integration: Native sharing, date pickers, and more
- Desktop: Chrome, Firefox, Safari, Edge
- Mobile: iOS Safari, Android Chrome, Samsung Internet
- Installable: Add to home screen on supported devices
- iOS: iPhone and iPad (iOS 12+)
- Android: Android 6.0+ (API level 23+)
-
Clone the repository:
git clone https://github.com/your-username/prayer-app.github.io.git cd prayer-app.github.io -
Install dependencies:
npm install
-
Start development server:
npm start
-
Build for production:
npm run build
-
Navigate to mobile directory:
cd mobile -
Install dependencies:
npm install
-
iOS Setup (macOS only):
cd ios && pod install && cd ..
-
Run the app:
# iOS npm run ios # Android npm run android
prayer-app.github.io/
├── src/ # PWA source code
│ ├── components/ # React components
│ ├── utils/ # Utilities and services
│ └── assets/ # Images, fonts, styles
├── mobile/ # React Native app
│ ├── src/screens/ # Mobile screens
│ ├── App.js # Main mobile app
│ └── package.json # Mobile dependencies
├── shared/ # Shared business logic
│ ├── storage.js # Cross-platform storage
│ ├── dateUtils.js # Date utilities
│ └── notifications.js # Notification service
├── public/ # PWA static assets
├── package.json # PWA dependencies
└── README.md # This file
Both versions share core business logic through the shared/ directory:
- Storage: Platform-agnostic data persistence
- Date Utils: Consistent date formatting and manipulation
- Notifications: Cross-platform notification handling
- Built with React and Create React App
- Uses Bootstrap for UI components
- Service worker for offline functionality
- Web Push API for notifications
- React Native with React Navigation
- React Native Paper for Material Design
- AsyncStorage for local data
- React Native Push Notification for alerts
npm start: Start development servernpm run build: Build for productionnpm test: Run testsnpm run lint: Lint code
npm run mobile:ios: Run on iOS simulatornpm run mobile:android: Run on Android emulatornpm run mobile:start: Start Metro bundlernpm run mobile:clean: Clean build artifacts
- Web Push API integration
- Service worker background sync
- Browser-based permission handling
- Native push notifications
- Local notification scheduling
- Platform-specific channels (Android)
- Material Design principles
- Responsive layouts
- Accessibility support
- Dark/light theme support (planned)
- Touch-friendly interfaces
- Native gestures
- Platform-specific navigation
- Optimized for one-handed use
- Local Storage: All data stored locally on device
- No Cloud Sync: Privacy-focused, no external servers
- Export/Import: Backup and restore functionality
- Data Control: Full user control over data
- React 18
- Bootstrap 5
- Service Workers
- Web Push API
- Local Storage
- React Native 0.80
- React Navigation 6
- React Native Paper
- AsyncStorage
- Push Notifications
- date-fns
- UUID generation
- Cross-platform utilities
- Modern web browser
- JavaScript enabled
- HTTPS for service worker (production)
- iOS 12+ / Android 6.0+
- React Native development environment
- Xcode (iOS) / Android Studio (Android)
- Fork the repository
- Create a feature branch
- Make your changes
- Test on both PWA and mobile
- Submit a pull request
- Follow existing code style
- Test on multiple platforms
- Update documentation
- Ensure shared logic compatibility
This project is licensed under the ISC License - see the LICENSE file for details.
- React and React Native communities
- Material Design principles
- Open source contributors
- Prayer and faith communities for inspiration
For questions, issues, or contributions:
- Open an issue on GitHub
- Check the documentation
- Review the troubleshooting guides
Prayer & Praise - Keeping faith and gratitude organized across all your devices. 🙏✨