Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/muety/anchr-android
π± Android client for Anchr.io link collections, built with Flutter
https://github.com/muety/anchr-android
android bookmark-manager cross-platform dart dartlang flutter
Last synced: 3 months ago
JSON representation
π± Android client for Anchr.io link collections, built with Flutter
- Host: GitHub
- URL: https://github.com/muety/anchr-android
- Owner: muety
- License: gpl-3.0
- Created: 2019-03-10T12:24:27.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-01-20T20:59:27.000Z (about 3 years ago)
- Last Synced: 2024-05-02T02:21:44.606Z (10 months ago)
- Topics: android, bookmark-manager, cross-platform, dart, dartlang, flutter
- Language: Dart
- Homepage: https://play.google.com/store/apps/details?id=io.muetsch.anchrandroid
- Size: 1.02 MB
- Stars: 53
- Watchers: 2
- Forks: 9
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
Anchr for Android
Android client for Anchr.io link collections, built with Flutter
![]()
![]()
![]()
## Prerequisites
* A hosted instance of [Anchr](https://github.com/n1try/anchr) and a registered account.
* Java >= 11 (JDK path defined in `android/gradle.properties`)
* Flutter >= 2.5.3
* Dart (tested with 2.14.4)
* Android SDK (tested with v31)
* Android Studio (or VSCode)
* An Android device or emulator## How to run?
1. Check out repository
2. Make sure `flutter doctor` has no errors
3. `flutter packages get`
4. `flutter run`## Developer notes
* State handling architecture inspired by [vanilla](https://github.com/brianegan/flutter_architecture_samples/tree/master/example/vanilla).
* Generate launcher icon: `flutter packages pub run flutter_launcher_icons:main`### Release
* Have your keystore and password ready, e.g. `~/.android/keystore.jks`
* Make sure you have `android/key.properties`, which looks like so
```
storePassword=shhh
keyPassword=shhh
keyAlias=some_alias_eg_anchr
storeFile=/home/you/.android/keystore.jks
```
* `flutter build apk --release --flavor fmain` to build an APK
* `flutter build appbundle --release --flavor fmain` to build an AppBundle (**recommended**)#### F-Droid
* [How to add app to F-Droid](https://gitlab.com/fdroid/fdroiddata/blob/master/CONTRIBUTING.md)
* [Build Metadata Reference](https://f-droid.org/docs/Build_Metadata_Reference/)
* [Example `build.gradle` for Flutter build](https://gitlab.com/nikhiljha/lobsters-app/-/blob/4326b69792c8575e5cbea7c0f2f7ff1b2c38d83d/android/app/build.gradle)
* [Example store YML for Flutter build](https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/com.nikhiljha.lobstersapp.yml)
* [Fastlane specification](https://gitlab.com/snippets/1895688)```bash
flutter build apk --flavor fdroid
```## To Do
There is still plenty of space for improvements. Those include:* Add ability to sign up
* Add ability to share collections
* Improve database helpers (e.g. hide one-to-many relation between collections and links from the outside)
* Enhance offline mode
* Show cached content while initial request is pending
* Implement refresh tokens (_requires backend changes_)
* Add tests
* Clean up codeFeel free to contribute!
## License
GNU General Public License v3 (GPL-3) @ [Ferdinand MΓΌtsch](https://muetsch.io)