1 unstable release
new 0.2.0 | Mar 13, 2025 |
---|
#46 in #status
2MB
810 lines
mdd_app
A cross-platform application to access the Mammal Diversity Database. It includes offline access and support to export a subset of the data to a Comma-Separated Values (CSV) file.
Try it out 🚀
Android, Linux, and Windows
You can download the beta release from the releases page.
iOS, iPadOS, and macOS
You will need to install the Apple TestFlight app and follow the instructions in this link.
Development Status
The app status is experimental. Expect bugs and incomplete features.
Technologies
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.
Contributing
Prerequisites
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.
Steps
- Clone the repository:
git clone https://github.com/mammaldiversity/mdd_app.git
0r if you are using GitHub CLI:
gh repo clone mammaldiversity/mdd_app
- Change to the project directory:
cd mdd_app
- Try to run the app:
flutter run
Troubleshooting
Fix Flutter Rust Bridge
-
Check if the
flutter_rust_bridge_codegen
binary installation matches the version in thepubspec.yaml
file in the app root directory and theCargo.toml
file in therust
directory. -
If the versions do not match, reinstall the
flutter_rust_bridge_codegen
binary and update thepubspec.yaml
andCargo.toml
files.
Fix Xcode build issues
- Clean flutter build cache:
flutter clean
- Remove the
ios/Pods
ormacos/Pods
directory:
rm -rf ios/Pods
- Run flutter build outside Xcode:
flutter build ios
Dependencies
~3–4.5MB
~67K SLoC