Skip to content

TechRosie/femtracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

0 stars

Watchers

0 watching

Forks

Sponsor this project

Packages

 
 
 

Contributors