Skip to content

Exports data from fddb.info to a database and supports endpoints to query the data

License

Notifications You must be signed in to change notification settings

itobey/fddb-exporter

Repository files navigation

FDDB Exporter

Export data from FDDB.info with ease and flexibility

Documentation

Artifact Hub

Build Status Release Version MIT License Commit Activity Last Commit

Overview

FDDB Exporter is a tool designed to extract nutritional data from FDDB.info and store it in a MongoDB/InfluxDB database. This application is especially useful for individuals who want to keep their FDDB diaries for themselves. FDDB only stores entries for up to 2 years for premium members, and even less for free users. Additionally, it is very handy if you want to query your data to see on which days you have entered specific products.

Key Features

  • Exports daily nutritional totals: calories, fat, carbohydrates, sugar, protein, and fiber
  • Stores detailed information on consumed products, including name, amount, nutritional values, and link to the product page
  • Supports scheduled daily exports and manual exports for specific date ranges
  • Provides a RESTful API for data retrieval and export operations

Prerequisites

  • Docker or Java 21+ runtime environment
  • A valid FDDB.info account
  • MongoDB instance (can be run using the provided Docker Compose file)
  • InfluxDB instance (optional, but recommended for storing daily totals)

Technology Stack

Privacy

This application does not collect any personal data. All data is stored locally on your device. Your FDDB credentials are only used to log in to the FDDB website and fetch the data. To determine how this tool is used (and how important it is to maintain it), the application sends some anonymous data to my server. The mail address is hashed and cannot be used to identify you. Along with the hash of the mail address, the following data is sent: amount of documents in the database, what persistence layer is used, the version of the application and the environment (container, Kubernetes or plain java). Feel free to audit the code yourself here. If you still have any concerns, feel free to contact me or open an issue.

Roadmap

I plan on implementing the following features in the future:

  • Helm Chart for deployment
  • product search API: to get only relevant data instead of the entire day
  • product search API: limit search by date or weekday instead of searching and returning every day
  • correlation API: find products correlating with given dates
  • new stats endpoint: display some stats of your data
  • ARM container release
  • Alerting feature to notify when the Scheduler run failed
  • accompanying Flutter app as a frontend
  • InfluxDB as additional persistence layer

If you have another feature in mind please open up an issue or contact me.

Resource Usage

The service typically uses around 300 MB of RAM with minimal CPU usage when idle.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request or open an issue.

About

Exports data from fddb.info to a database and supports endpoints to query the data

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages