WeightTracker/README.md

3.3 KiB

Keep My Weight Tracker

A minimalist, privacy-first web application for tracking your weight and daily meals. This application is designed to be simple, lightweight, and focused on data ownership.

Features

  • Weight Tracking: Log your weight with optional notes
  • Meal Logging: Record your daily breakfast, lunch, dinner, and other meals
  • Data Visualization: View your weight progress on an interactive chart
  • Data Export/Import: Export and import your data as JSON or CSV
  • Privacy-First: All data stays on your device using browser's localStorage
  • Mobile-Friendly: Responsive design works on all devices

Getting Started

  1. Clone this repository or download the source code
  2. Open index.html in your web browser
  3. Start logging your weight and meals!

No installation or setup required. The application works entirely in your browser.

Data Storage

All your data is stored locally in your browser using localStorage. No data is sent to any server.

  • To backup your data, use the "Export Data" button in the Settings tab
  • To restore a backup, use the "Import Data" button in the Settings tab

Technical Details

This application is built with:

  • Frontend: HTML5, CSS3, and vanilla JavaScript (ES6+)
  • Data Storage: Browser localStorage
  • Charts: Chart.js library
  • Dependencies: None, except Chart.js which is loaded from CDN

Deployment

Local Development

Simply open index.html in your web browser.

Docker Deployment

The application includes a complete Docker setup with persistent data storage.

# Build and run with Docker Compose
docker-compose up -d

This will create:

  • A container with both the web server and data API
  • A persistent volume for data storage at /data

Coolify Deployment

To deploy on Coolify with persistent storage:

  1. In your Coolify dashboard, create a new service
  2. Select "Docker Compose" as the deployment type
  3. Connect to your Git repository or upload the files directly
  4. Important: The docker-compose.yml file has been configured with:
    • A named volume: coolify-weight-tracker-data
    • A Coolify-specific label: coolify.volume.weight-tracker-data=/data
  5. Deploy the application
  6. Verify that the persistent volume appears in your Coolify resources

The application will be available at the URL provided by Coolify. All weight and meal data will be stored in the persistent volume, ensuring your data remains intact across container restarts or updates.

Verifying Data Persistence

After deployment:

  1. Add some weight or meal entries in the application
  2. Restart the container from the Coolify dashboard
  3. Verify your data is still available after the restart

Even with persistent storage configured, it's recommended to occasionally use the "Export Data" feature in the Settings tab as an additional backup.

Roadmap

Phase 1 (Current)

  • Weight log UI + persistence
  • Meal log UI + persistence
  • Save & Load from JSON

Phase 2

  • Weight evolution line chart
  • CSV export of all entries
  • Date-range filters

Phase 3

  • JSON import (merge vs overwrite)
  • Responsive mobile-first refinements
  • Docker & Coolify deployment docs

Phase 4

  • Theming (light/dark)
  • Localization support
  • Migration guide

License

MIT License

Privacy Policy

This application does not collect any personal data. All data you enter remains on your device.