Skip to content

Repository files navigation

Linky

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.

Demo

Watch a walkthrough of the app: Linky app demo on YouTube

Features

  • 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

Project layout

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

Getting started

Prerequisites

  • Flutter 3.x (Dart SDK ^3.11.4)
  • Android SDK (for Android builds)
  • Xcode (optional, for iOS on macOS)

Install and run

git clone https://github.com/douicoder/linky.git
cd linky
flutter pub get
flutter run

Release build (Android)

  1. Create a keystore (keep it gitignored):

    keytool -genkey -v -keystore linky-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias linky
  2. Copy and edit signing config:

    cp android/key.properties.example android/key.properties
  3. Place linky-release-key.jks in android/ (or adjust storeFile in key.properties).

  4. Build:

    flutter build apk --release

If key.properties is missing, release builds use the debug signing config.

Tech stack

Package Purpose
hive / hive_flutter Local NoSQL storage
receive_sharing_intent Android share intent
url_launcher Open links in browser

Development

flutter analyze
flutter test
dart run build_runner build --delete-conflicting-outputs   # after Hive model changes

See AGENTS.md for architecture and coding conventions.

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages