A cross-platform application to access the Mammal Diversity Database. It features offline access, advance search with data filtering, and support to export a subset of the data to a Comma-Separated Values (CSV) or JSON file.
- Visual Alignment: The synonym section formatting and the app's overall color scheme now closely match the website.
- Cleaner Layout: We’ve streamlined the "Name Usages" display under synonyms to remove clutter and make it easier to read.
You can download the app on Google Play. Click the badge below or scan the QR code.
You can download the app on the App Store. Click the badge below or scan the QR code.
Download your preferred package format from the releases page:
- Debian/Ubuntu (
.deb): Install usingsudo apt install ./mdd_<version>_amd64.deb - Fedora/openSUSE (
.rpm): Install usingsudo dnf install ./mdd-<version>-1.x86_64.rpm - Portable Tarball (
.tar.gz): Extractmdd-Linux-x86_64.tar.gzand run themddexecutable directly.
Download the mdd-Windows-x86_64.zip archive from the releases page, extract it, and run mdd.exe.
We develop the app using cross-platform, widely use technologies for mobile app development. The core technologies are:
- Rust: Mainly used for MDD data parsing and whenever high-performance computation is needed.
- Flutter: Used for the app's user interface and to interact with the MDD data.
- Fluter Rust Bridge: Core package to simplify the communication between Rust and Flutter.
- SQLite: Used to store the MDD data locally and to provide offline access.
Make sure you have the following software installed. Follow the links for installation instructions.
- Rust
- Flutter
- Android Studio or Xcode
- An additional IDE. We recommend Visual Studio Code.
- Clone the repository:
git clone https://github.com/mammaldiversity/mdd_app.git0r if you are using GitHub CLI:
gh repo clone mammaldiversity/mdd_app- Change to the project directory:
cd mdd_app- Create a
datadirectory in the root of the project and place the latestMDD.zipandMIL.tar.gzinside it. This data is required to pre-generate the local SQLite database.
mkdir data
# Download MDD.zip and MIL data into the data/ directory- Generate the SQLite database and run a build:
We provide a convenient bash script that builds the Rust parser, generates assets/data/mdd.db, and compiles Flutter for supported platforms.
./tools/build.shAlternatively, if you only want to generate the database manually without compiling Flutter release builds:
./tools/generate_prefilled_db.sh- Try to run the app:
flutter run-
Check if the
flutter_rust_bridge_codegenbinary installation matches the version in thepubspec.yamlfile in the app root directory and theCargo.tomlfile in therustdirectory. -
If the versions do not match, reinstall the
flutter_rust_bridge_codegenbinary and update thepubspec.yamlandCargo.tomlfiles.
- Clean flutter build cache:
flutter clean- Remove the
ios/Podsormacos/Podsdirectory:
rm -rf ios/Pods- Run flutter build outside Xcode:
flutter build ios

