A lightweight Flutter app for organizing and managing links by category. Save URLs manually or send them from other Android apps via the share sheet.
Watch a walkthrough of the app: Linky app demo on YouTube
- Categories — Group links (Study, Work, etc.) with per-category link counts
- Links — Custom titles, URLs, timestamps; open in the browser or delete
- Search — Find categories and links by name in real time
- Android share — Share a URL from any app into Linky and pick a category
- Themes — Light and dark mode with persisted preference
linky/
├── lib/
│ ├── main.dart # Entry point
│ ├── app/ # LinkyApp widget
│ ├── core/
│ │ ├── constants/ # App colors
│ │ ├── theme/ # Light/dark themes
│ │ └── utils/ # Search helpers
│ ├── data/
│ │ ├── models/ # Hive models
│ │ ├── repositories/ # Data access layer
│ │ └── storage/ # Hive + theme boxes
│ └── presentation/
│ ├── screens/ # UI screens
│ └── widgets/ # Reusable components
├── assets/ # Images and icons
├── android/ # Android project + signing example
├── test/ # Widget tests
├── AGENTS.md # Contributor / agent guidelines
└── pubspec.yaml
- Flutter 3.x (Dart SDK ^3.11.4)
- Android SDK (for Android builds)
- Xcode (optional, for iOS on macOS)
git clone https://github.com/douicoder/linky.git
cd linky
flutter pub get
flutter run-
Create a keystore (keep it gitignored):
keytool -genkey -v -keystore linky-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias linky
-
Copy and edit signing config:
cp android/key.properties.example android/key.properties
-
Place
linky-release-key.jksinandroid/(or adjuststoreFileinkey.properties). -
Build:
flutter build apk --release
If key.properties is missing, release builds use the debug signing config.
| Package | Purpose |
|---|---|
| hive / hive_flutter | Local NoSQL storage |
| receive_sharing_intent | Android share intent |
| url_launcher | Open links in browser |
flutter analyze
flutter test
dart run build_runner build --delete-conflicting-outputs # after Hive model changesSee AGENTS.md for architecture and coding conventions.