A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Broccoli

A free eco-friendly recipe app for building your recipe collection, distraction free cooking and seasonal ingredients.
https://github.com/flauschtrud/broccoli

Category: Consumption
Sub Category: Agriculture and Nutrition

Last synced: about 20 hours ago
JSON representation

Repository metadata

Broccoli is a free recipe app that lets you build your own personal recipe collection and helps you cook in a more eco-friendly way.

README.md

Broccoli

Android CI
Publish to Google Play Closed Testing
Provide Signed Release for F-Droid

Broccoli is a free recipe app that lets you build your own personal recipe collection and helps you cook in a more eco-friendly way.
Recipes with seasonal ingredients are highlighted and if you’re looking for inspiration, you can find seasonal ingredients from your region in the seasonal calendar.

You can get Broccoli on

Code Quality

Quality Gate Status
Lines of Code
Coverage
Security Rating
Vulnerabilities
Reliability Rating
Bugs
Maintainability Rating
Code Smells

FAQ

Why Can Some Recipes Not Be Imported via Their URL Into Broccoli?

Broccoli searches for recipe metadata in the JSON-LD format. Many modern sites and blogs provide this metadata since it helps them with search engine optimization. But some might also choose to not expose it because they do not want any external sites and tools to scrape their content.

If you want to verify if a specific site exposes JSON-LD metadata hit F12 in your browser and search for script tags with the type="application/ld+json" property.

Can I Import Recipes From Text Files Into Broccoli?

Broccoli can only import it's own backup files (which can be created via "Backup & Restore"). But if you are technical adept and have some scripting skills you can create a broccoli-archive file yourself.

The broccoli-archive is basically a zip file which consists of other zip files (one broccoli file for each recipe) and a JSON file for the categories. Each broccoli file consists of an optional image file and a JSON file with describes the recipe's metadata. Create an export yourself and have a look at the resulting file.

The following task have to be done:

  1. Create the JSON file for each recipe (depending on the structure of your text files)
  2. Zip this file (with an optional image file) into a broccoli file
  3. Create a JSON file which describes your categories (in case you have any)
  4. Zip the JSON and all the broccoli files into a broccoli-archive
  5. Import the *.broccoli-archive into Broccoli

Contributions

Translations

Crowdin

I set up a project on Crowdin to manage translations. Feel free to join and tell me if you want me to add more languages.

Available languages so far:

  • English (done by non-native, feel free to report any issues)
  • Spanish (done by non-native, feel free to report any issues)
  • French (done by non-native, feel free to report any issues)
  • German
  • Polish (thanks a lot to r-tw0 for your help!)
  • Italian (thanks a lot to bruce965 for your help!)
  • Chinese (thanks a lot to leongjs98 for your help!)
  • Serbian (Latin) (thanks a lot to dimipage for your help!)
  • Turkish (thanks a lot to mikropsoft for your help!)
  • Hebrew (thanks a lot to Eldar for your help!)
  • Brazilian Portuguese (thanks a lot to joemaal for your help!)
  • Russian (thanks a lot to Степан for your help!)
  • Japanese (thanks a lot to FileX for your help!)
  • Greek (thanks a lot to quarufus for your help!)

Seasonal Calendars

If you want to contribute by researching data for additional seasonal calendars please contact me.

Some things to considerate:

  • regions should reflect climate zones rather than countries
  • regions should be big enough to be useable for a lot of people, but small enough to still be valid (there will have to be compromises though)
  • the calendar should include new ingredients if they are relevant for the regional cooking culture
  • ingredients should be practical in the sense that they are actually used in real-world recipes (i.e. there are different kinds of apples that might have slightly different seasonal availability, but since recipes will only ever ask for "apples" it's better to just have one ingredient)

Available regions for:

  • Central Europe
  • North America (colder)
  • North America (warmer)
  • Japan (thanks a lot to FileX for creating this calendar!)

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 1,306
Total Committers: 7
Avg Commits per committer: 186.571
Development Distribution Score (DDS): 0.201

Commits in past year: 548
Committers in past year: 3
Avg Commits per committer in past year: 182.667
Development Distribution Score (DDS) in past year: 0.011

Name Email Commits
flauschtrud 9****d 1044
JanaFlauschata j****d@g****m 246
JanaFlauschata J****a 8
woheller69 w****9@t****e 4
FileX 7****X 2
rubikscuber f****r@1****t 1
Poussinou f****7@y****r 1

Committer domains:


Issue and Pull Request metadata

Last synced: about 20 hours ago

Total issues: 238
Total pull requests: 50
Average time to close issues: 6 months
Average time to close pull requests: 14 days
Total issue authors: 25
Total pull request authors: 7
Average comments per issue: 0.61
Average comments per pull request: 1.92
Merged pull request: 40
Bot issues: 0
Bot pull requests: 0

Past year issues: 56
Past year pull requests: 33
Past year average time to close issues: 2 months
Past year average time to close pull requests: 12 days
Past year issue authors: 14
Past year pull request authors: 5
Past year average comments per issue: 0.68
Past year average comments per pull request: 1.97
Past year merged pull request: 29
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/flauschtrud/broccoli

Top Issue Authors

  • flauschtrud (200)
  • kartun83 (5)
  • rubikscuber (4)
  • r-tw0 (3)
  • BoFFire (2)
  • meersjo (2)
  • gryphonmyers (2)
  • cd-FileX (2)
  • maninthemiddle01 (2)
  • ChristophB (1)
  • falzonv (1)
  • woheller69 (1)
  • linsui (1)
  • 1Maxnet1 (1)
  • asiag0 (1)

Top Pull Request Authors

  • flauschtrud (40)
  • cd-FileX (3)
  • Poussinou (2)
  • rubikscuber (2)
  • robertsawko (1)
  • woheller69 (1)
  • bkmgit (1)

Top Issue Labels

  • feature (87)
  • request (67)
  • ui/ux (49)
  • bug (38)
  • localization (34)
  • infrastructure (9)
  • enhancement (8)
  • testing (3)
  • refactoring (2)

Top Pull Request Labels


Package metadata

pypi.org: broccolimd

Extract `Broccoli` backups as markdown files

  • Homepage:
  • Documentation: https://broccolimd.readthedocs.io/
  • Licenses: MIT License
  • Latest release: 0.2.0 (published 2 months ago)
  • Last Synced: 2025-04-27T13:03:38.468Z (about 20 hours ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 63 Last month
  • Rankings:
    • Dependent packages count: 9.605%
    • Average: 31.845%
    • Dependent repos count: 54.085%
  • Maintainers (1)

Dependencies

.github/workflows/build.yml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
  • actions/upload-artifact v3 composite
.github/workflows/fdroid-release.yml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
  • ncipollo/release-action v1 composite
  • r0adkll/sign-android-release v1 composite
.github/workflows/play-prerelease.yml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
  • ncipollo/release-action v1 composite
  • r0adkll/sign-android-release v1 composite
  • r0adkll/upload-google-play v1.1.1 composite
app/build.gradle maven
  • androidx.appcompat:appcompat 1.6.1 implementation
  • androidx.constraintlayout:constraintlayout 2.1.4 implementation
  • androidx.core:core-ktx 1.10.1 implementation
  • androidx.fragment:fragment $fragment_version implementation
  • androidx.legacy:legacy-support-v4 1.0.0 implementation
  • androidx.lifecycle:lifecycle-extensions 2.2.0 implementation
  • androidx.lifecycle:lifecycle-viewmodel-ktx 2.6.1 implementation
  • androidx.navigation:navigation-fragment $nav_version implementation
  • androidx.navigation:navigation-ui $nav_version implementation
  • androidx.preference:preference $preference_version implementation
  • androidx.room:room-runtime $room_version implementation
  • androidx.test.espresso:espresso-idling-resource $espresso_version implementation
  • androidx.viewpager2:viewpager2 1.0.0 implementation
  • com.fasterxml.jackson.core:jackson-annotations $jackson_version implementation
  • com.fasterxml.jackson.core:jackson-core $jackson_version implementation
  • com.fasterxml.jackson.core:jackson-databind $jackson_version implementation
  • com.github.bumptech.glide:glide 4.15.1 implementation
  • com.google.dagger:dagger-android $dagger_version implementation
  • com.google.dagger:dagger-android-support $dagger_version implementation
  • com.mikepenz:aboutlibraries 10.6.3 implementation
  • id.zelory:compressor 2.1.1 implementation
  • org.jsoup:jsoup 1.15.4 implementation
  • androidx.arch.core:core-testing 2.2.0 testImplementation
  • androidx.room:room-testing $room_version testImplementation
  • junit:junit 4.13.2 testImplementation
  • org.hamcrest:hamcrest 2.2 testImplementation
  • org.mockito:mockito-core $mockito_version testImplementation
build.gradle maven

Score: 11.081526974835558