Skip to content

【Found this helpful? Let it shine with a star! ⭐️】A React Native mobile app for smart tracking of menstrual product usage duration, helping users maintain safer period care practices through timely reminders and usage history.

License

Notifications You must be signed in to change notification settings

ChanMeng666/femtracker

Repository files navigation

FemTracker

FemTracker Logo

FemTracker is a modern mobile application designed to help users track and manage their menstrual product usage safely. Built with React Native and Expo, it provides real-time duration tracking, smart notifications, and usage history for better period care practices.

Demo Video
Screenshot 1 Screenshot 2 Screenshot 3

👉Try It Now!👈


Features

  • Real-time Usage Tracking: Monitor the duration of tampon and menstrual cup usage
  • Smart Reminders: Receive notifications for recommended and maximum usage times
  • Usage History: View and track your product usage patterns over time
  • Clean UI: Modern, intuitive interface with clear status indicators
  • Safety First: Built-in timers and warnings to prevent extended use
  • Offline Support: All data stored locally on your device

Tech Stack

  • React Native
  • Expo
  • TypeScript
  • React Native Paper
  • AsyncStorage
  • Expo Notifications
  • Linear Gradient
  • Lottie Animations

Getting Started

Prerequisites

  • Node.js (v14 or later)
  • npm or yarn
  • Expo CLI
  • iOS Simulator (for iOS development)
  • Android Studio and Android SDK (for Android development)

Installation

  1. Clone the repository

    git clone https://github.com/ChanMeng666/FemTracker.git
    cd FemTracker
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Start the development server

    npx expo start
  4. Run on your preferred platform

    • Press i for iOS simulator
    • Press a for Android emulator
    • Scan QR code with Expo Go app for physical device

Project Structure

FemTracker/
├── app/                   # Main application screens
├── assets/               # Images, fonts, and other static files
├── components/           # Reusable UI components
├── constants/            # App constants and configurations
├── hooks/               # Custom React hooks
├── services/            # Core services (storage, notifications)
├── src/                 # Source files
│   └── theme/           # UI theme and styling
└── types/               # TypeScript type definitions

Architecture

The app follows a clean architecture pattern with:

  • Hooks for business logic and state management
  • Services for core functionalities
  • Local storage for data persistence
  • Theme-based styling system
  • Type-safe development with TypeScript

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the Apache-2.0 license - see the Apache-2.0 license file for details.

Acknowledgments

  • Expo for the amazing development platform
  • React Native Paper for the Material Design components
  • All contributors who have helped shape this project

Author

Chan Meng

About

【Found this helpful? Let it shine with a star! ⭐️】A React Native mobile app for smart tracking of menstrual product usage duration, helping users maintain safer period care practices through timely reminders and usage history.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published