/Beanconqueror

An open source project for coffee enthusiasts.

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

license Github All Releases GitHub Release Date Quality Gate Status

Beanconqueror

Beanconqueror - The Ultimate Coffee Companion

You’re a coffee afficiando, and so am I! Beanconqueror is the product of our shared love of the drink in our cups and in our hearts. Whether you're just starting out, or are an experienced barista, Beanconqueror will help you get the most out of your coffee.

Optimize your brews: Beanconqueror offers a wide range of preparation methods, including V60, Aeropress, Espresso, Orea v3, Mokkamaster and more. Each comes setup ready to go, or you can customize your preparation methods with just the parameters you want to use. This way, you can get your perfect brew every time.

Keep track of your beans: Beanconqueror makes it easy to keep track of all your beans. You can easily scan or import detailed information of roasted coffee from your favourite roasters, or even from your own roasting setup. It’ll even keep track of your running total of beans so you know when you’re running low.

Track your roasts: Add all the details for your green beans, roast them in batches tracking the variables you need to to maintain consistency, and automatically transfer your finished roasts to use for brewing.

Dedicated water section: Beanconqueror also has a dedicated water section where you can add your custom waters to be used in the brew section. Save all the key information for your water recipes, such as general hardness, sodium, calcium, magnesium, and more.

Flexibility and Convenience: Beanconqueror is available for both iOS and Android, so you can take it with you wherever you go. It also supports several languages, including English, German, Spanish, Chinese, and Turkish, and more will be added in the future. Beanconqueror is also Open Source and free to use.

Flow & Pressure Profiling: Beanconqueror is compatible with a range of bluetooth scales and pressure profile devices, including Decent Scale, Acaia Scales, Felicita Scales, Hiroia Jimmy, Eureka Precisa, Skale2, Smart Espresso Profiler, and Pressensor. It can even produce graphs to track your brew live and help you repeat your favourite brews more easily.

Track your caffeine consume into Apple Health and have a look there.

Whether you're looking to track your coffee journey, optimise your brews, or simply keep track of your coffee beans, Beanconqueror has everything you need to perfect your brew from green to cup.

Follow me

| Website | Instagram | Facebook |

Sneak preview

Beanconqueror gif

Articles

Threads

Rankings

On January 2021, the app got a bit hyped, through german featuring articles, the top rankings because of this you find below.

Android

Top charts: Eat & Drink - Rank 5 Eat & Drink Ranking - Rank 70

iOS

Eat & Drink Raking - Rank 36

Features

Different features are supported by this app, a brief overview you'll find here.

  • Add your own beans / grinders / preparation methods
  • Record different brew-parameters like:
    • grind size
    • grind amount
    • brew time
    • first coffee drip
    • images
    • etc.
  • Manage your own workflow, first grind amount, then grind size? No problem
  • Archive old beans / grinders / preparation methods
  • Rate your brews
  • Cup your brews by SCA
  • Own roasting section
  • Own water section
  • Cup your brews by aromatics or flavors
  • Connect smart scales (Decent Scale, Acaia Lunar, Hiroia Jimmy, Felicita)

Special thanks

  • Nicola for giving the app a whole new design.
  • Frank for translating the app into spanish.
  • Joan - for Spanish translation
  • Halil Portakal for Turkish translation
  • Jiageng Ding for Chinese translation
  • Mimoja For supporting on Decent Scale integration & Eureka Scale support
  • Silas - For supporting Hiroia Jimmy Scale
  • Mehalter - For supporting Acaia Scales
  • Mike - For supporting Acaia Scales & DIY Pressure Sensor
  • Myles - For supporting Thermo Bluetooth Devices
  • Herman - For supporting Felicita Arc
  • Yannick - For supporting DiFluid Microbalance & Smart Chef Scale, BlackCoffee.IO. Also for adding Lokalise

Getting the App

The App is a cross platform application, running on the ionic framework.

Android

Download the latest version here.

If you don't want to download the app by playstore, just have a look on the release page.

iOS

Download the latest version here.

💖 Support the project

You want to support me, to access more people to explore the world of good coffee

Donate - Support me once

Coffee - Support me once or often

Or sponsor me via Github

Thanks! ❤️

Contribution

Before continuing it is important to note that Beanconqueror is open source available.

I welcome pull requests, but you will be required to sign the Beanconqueror CLA before any contributions can be merged.

Statistics

Graphefruit github stats

Top Langs

Third Party Apps

Beanconqueror Universe is growing outside :) Therefore some users did third party apps, where I don't have any stakes in it. Important: Beanconqueror doesn't take any warranty here.

Add beans to share directly from a webform: https://beanstats.vercel.app/beanconqueror/share/create (Uses the minify-logic of the add.beanl.ink aswell)

Minify your shared bean-link: https://add.beanl.ink/

Get some more statistics: https://beanstats.vercel.app/

Questions

Why is external storage not supported?

Sadly there are some issues to read/use files from external storage apache/cordova-plugin-file#350

Why is image-export functionality not support on iOS?

iOS filesystem is different then on Android, because of this images cannot just be exported. Thats why just Android is support by now.

iOS - iCloud-Backup

You can backup Beanconqueror via iCloud, with this you can transfer all data to another device without any loss.

Android - Backup & Restore

Have a look here: FAQ

Analytics

All tracked data/analytics are visible here: Website

Which requirements does the app needs?

The app needs access to your filesystem aswell as the camera

  • Filesytem: Needed to save images which you took on beans/brews etc or exporting your settings. - Outdated after Android 13 changes.
  • Camera: Needed to take picures or access the photo library to set images for your beans/brews
  • Internet: NOT NEEDED! But needed if you want to send me some analytics information to make the app better :)
  • GPS: NOT NEEDED! Activated through settings, saves the brew location
  • Apple Health: NOT NEEDED! Activated through settings, saves caffeine amount
  • Wake look: NOT NEEDED! Activated through settings, won't let your phone get into sleep mode while brewing
  • Bluetooth: NOT NEEDED! Activated for smart scale use.

Develop on your own

Development & Building it yourself

If you're not familiar with Ionic or Cordova read through the introduction. To get started with anything you need Node.js installed

Want to check the code quality?

https://sonarcloud.io/dashboard?id=graphefruit_Beanconqueror

Get Started

npm install -g cordova@12.0.0 npm install -g @ionic/cli npm run prepare

Build iOS

Always use the .workspace-File to open in Xcode

ionic cordova build ios

Build Android

ionic cordova build android

Check outdated dependencies

npm outdated

Check outdated plugins

cordova-check-plugins

NPM-Version

npm -v -> 9.6.4 - works

NodeJS-Version

node -v -> v18.15.0 -> works

iOS-Version:

ionic cordova platform add ios@7.0.1

Android-Version:

ionic cordova platform add android@12.0.0

Github Page Hosting

https://stackoverflow.com/questions/60357663/do-apple-app-site-association-files-work-with-github-pages-i-e-site-github-io

Upgrade Ionic if needed:

npm install @ionic/angular@6.5.0 -> Or the actual active version

Installing AAB on your android (mac)

https://stackoverflow.com/questions/50419286/install-android-app-bundle-on-device brew install bundletool bundletool build-apks --bundle=./app.aab --output=./app.apks bundletool install-apks --apks=app.apks

Compile deson't work on android? Try: cordova build android -- --jvmargs='-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M" --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED'