🩸 PeriodTracker A privacy-focused, offline-first menstrual cycle tracking app for Android. Built with Ionic React and TypeScript, PeriodTracker stores all data locally on your device—no cloud, no tracking. Features multi-language support (including Swahili) and timely cycle notifications.
# PeriodTracker
A privacy-focused menstrual cycle tracking app built with Capacitor, Ionic React, and TypeScript for Android.
## 📱 About
PeriodTracker is a simple, secure, and user-friendly Android application designed to help users track their menstrual cycles. The app prioritizes user privacy by storing all data locally on the device - no cloud sync, no data collection, no tracking.
## ✨ Features
- **Cycle Tracking**: Track your menstrual cycle with ease
- **Privacy-First**: All data stored locally on your device
- **Multi-language Support**: Available in multiple languages including Swahili
- **Notifications**: Reminders for important cycle events
- **Modern UI**: Built with Ionic React for a beautiful, native-like experience
- **Offline-First**: Works completely offline - no internet required
## 🛠️ Tech Stack
- **Framework**: Capacitor 7.0
- **UI Framework**: Ionic React 8.4
- **Language**: TypeScript
- **Build Tool**: Vite 6.0
- **State Management**: React Hooks
- **Internationalization**: i18next
- **Testing**: Vitest
## 📋 Requirements
- Node.js 18+ and npm
- Android Studio
- JDK 17+
- Android SDK (API 23+)
- Gradle 8.7+
## 🚀 Getting Started
### Prerequisites
1. Install Node.js and npm
2. Install Android Studio
3. Set up Android SDK
### Installation
1. Clone the repository:
```bash
git clone
github.com
cd PeriodTracker
```
2. Install dependencies:
```bash
npm install
```
3. Build the web assets:
```bash
npm run build
```
4. Sync Capacitor:
```bash
npx cap sync android
```
### Development
Run the development server:
```bash
npm run dev
```
### Building for Android
1. Open the project in Android Studio:
```bash
cd android
# Open in Android Studio
```
2. Build the app bundle:
```bash
./gradlew -p android/ bundleRelease
```
The AAB file will be generated at: `android/app/build/outputs/bundle/release/app-release.aab`
### Building APK (for testing)
```bash
./gradlew -p android/ assembleRelease
```
The AP …