Menstrual Cycle Tracker

A comprehensive web application for tracking menstrual cycles, symptoms, and health insights.

Features

  • Cycle Tracking: Log period start/end dates and flow intensity
  • Predictions: Automatic calculation of next period and fertile window
  • Symptom Tracking: Track mood, pain levels, and other symptoms
  • Calendar View: Visual calendar showing cycle phases and predictions
  • Insights: Cycle length trends and pattern analysis
  • Data Export: Download your data as JSON

Project Structure

├── backend/
│   ├── database/
│   │   ├── migrations.ts    # Database schema setup
│   │   └── queries.ts       # Database query functions
│   ├── routes/
│   │   ├── cycles.ts        # Cycle CRUD operations
│   │   ├── symptoms.ts      # Symptom tracking
│   │   └── static.ts        # Static file serving
│   └── index.ts             # Main Hono server
├── frontend/
│   ├── components/
│   │   ├── App.tsx          # Main application component
│   │   ├── Calendar.tsx     # Calendar view
│   │   ├── CycleForm.tsx    # Period logging form
│   │   ├── SymptomForm.tsx  # Symptom tracking form
│   │   └── Insights.tsx     # Analytics and insights
│   ├── index.html           # Main HTML template
│   ├── index.tsx            # React entry point
│   └── style.css            # Custom styles
└── shared/
    └── types.ts             # Shared TypeScript types

Getting Started

  1. The app will automatically create the database tables on first run
  2. Navigate to the main page to start tracking your cycle
  3. Use the calendar view to see predictions and cycle phases
  4. Track symptoms daily for better insights

Data Privacy

All data is stored locally in your Val Town SQLite database. No data is shared with third parties.