Skip to content

christianfl/Energize

Repository files navigation

Energize

Update from 6. January, 2025:

⚠️ Energize transitioned to the AGPLv3 license. The last commit which had its code licensed under GPLv3 is 763dc8f7b5. You may have a look at general reasons for switching to AGPL.

Translation status Delightful Humane Tech F-Droid Version Codeberg Release

Energize. Track your nutrition easily and fast.

Try it on Codeberg Pages Get it on F-Droid Get it on Google Play

  • Google Play is currently unavailable. I'm working on resolving the issue.
  • Codeberg Pages may has an outdated version as there is no automation in place yet. See #115.

Screenshots

Screenshots are available in all supported languages here.

Features

  • Track your food including calories, macro- and micronutrients
    • (optional) Automatically group tracked food into meals
  • Use several databases, including:
    • Open Food Facts
    • Swiss Food Composition Database
    • USDA FoodData Central
  • Create custom food
  • Search food by product name, barcode, or just scan the barcode
    • the barcode of the first matching custom food will be used or
    • Open Food Facts will be searched if that database is activated and no matching custom food was found
    • EAN, UPC, and custom barcodes for custom food are supported
  • Get food suggestions based on your last tracked food
  • Set targets for macro- and micronutrients including calculating them based on your personal details
  • See your daily nutrition details
  • Create an encrypted backup and restore it
    • Local and WebDAV backup are supported

Build

This app is built with Flutter. You can get the current used SDK version under submodules/flutter; this is also used to pin the correct Flutter dependency for automated F-Droid builds on new versions (tags).

  1. Download and setup flutter: https://flutter.dev/docs/get-started/install
  2. Clone repository: git clone https://codeberg.org/epinez/Energize.git && cd Energize
  3. Install dependencies: flutter pub get
  4. Run build runner to generate types: dart run build_runner build --delete-conflicting-outputs
  5. Build and install: flutter run

Test / Automated screenshots

The integration tests automatically create different screenshots using all supported locales with dark and light theme.

Run integration tests:

flutter drive --driver=test_driver/integration_test.dart --target=integration_test/app_test.dart

This saves the screenshots to:

fastlane/metadata/android/<locale>/images/phoneScreenshots/<number>_<theme>.png

Contribute

Energize has already benefited incredibly from many contributors. It would be great if this could continue or even be expanded in the future.

You are very welcome to:

  • Help translating via Weblate
Übersetzungsstatus
  • Create issues for

    • things not working as intended
    • feature requests

    Please have a look whether similar issues already exist in advance.

  • Develop something

    • There is no written roadmap yet
      • milestones are an indicator
      • Open issues could also be used as a reference
    • There are no code style guidelines in place, hopefully the linter rules can assist
    • Using Conventional Commits for PRs would be wonderful
    • it's easier to reach out in advance if you want something to be merged later 😊
  • Create art: It's both beautiful and motivational

    acrylic picture of Energize by mondstern

    Acrylic picture by mondstern (CC BY-SA 4.0)

  • If you have other ideas about how you'd like to contribute, just reach out on Matrix or via mail

Donate

If you want to support the development by a donation, you are very welcome to do so. Creating this app is a lot of fun but also a very time consuming task. Your donation helps to fill my coffee pot and makes sure my protein bars are filled up.

Donate using Liberapay

BTC: 35DcbAwi66LDyvxfpmvxVrM7nYrrZVC59k

Documentation

If there are any further questions, you may have a look at the docs.


© Christian Flaßkamp – [email protected]