coffeetrove
Data models and brewing utilities for the CoffeeTrove coffee discovery platform. CoffeeTrove indexes over 440,000 cafes worldwide alongside brewing guides, origin profiles, and a Golden Drop scoring system that rates cafes on data completeness and quality signals.
Installation
[]
= "0.1.2"
Usage
Cafe Records
The Cafe struct mirrors the fields stored in the CoffeeTrove database. Construct records with the builder pattern and compute their Golden Drop score:
use ;
let cafe = builder
.city
.country
.chain_type
.rating
.build;
println!;
Brewing Method Lookup
A const table of common brewing methods ships with the crate. Each entry includes the recommended water temperature range and typical brew time in seconds:
use BREWING_METHODS;
for method in BREWING_METHODS
Origin Profiles
Use the Origin enum when you need type-safe representation of coffee-producing regions:
use Origin;
let origin = Ethiopia;
println!;
Grind Size Estimation
Convert a brewing method name into a recommended grind level:
use recommend_grind;
let grind = recommend_grind;
assert_eq!;
Available Data
CoffeeTrove covers 440,000+ cafes across 195 countries, 15 brewing method guides, 23 bean origin profiles, 17 coffee drink recipes, and 15 equipment reviews. The Golden Drop scoring algorithm evaluates cafes on a 0--100 scale using data completeness, independence bonus (non-chain cafes score higher), and user review signals.
Links
- CoffeeTrove -- discover cafes, origins, and brewing guides
- Source Code
License
MIT