{"id":13592032,"url":"https://github.com/thunder-app/thunder","last_synced_at":"2026-01-06T22:25:49.575Z","repository":{"id":174613628,"uuid":"652266983","full_name":"thunder-app/thunder","owner":"thunder-app","description":"Thunder - An open-source cross-platform Lemmy client for iOS and Android built with Flutter","archived":false,"fork":false,"pushed_at":"2024-12-17T18:43:48.000Z","size":15405,"stargazers_count":802,"open_issues_count":219,"forks_count":67,"subscribers_count":14,"default_branch":"develop","last_synced_at":"2024-12-18T10:01:01.846Z","etag":null,"topics":["android","dart","fediverse","fediverse-client","flutter","ios","lemmy"],"latest_commit_sha":null,"homepage":"https://thunderapp.dev","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thunder-app.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-11T16:03:16.000Z","updated_at":"2024-12-17T18:43:36.000Z","dependencies_parsed_at":"2023-10-16T16:42:11.144Z","dependency_job_id":"888b6164-bf8b-4723-86b9-1024e3406ef7","html_url":"https://github.com/thunder-app/thunder","commit_stats":null,"previous_names":["hjiangsu/thunder","thunder-app/thunder"],"tags_count":91,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thunder-app%2Fthunder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thunder-app%2Fthunder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thunder-app%2Fthunder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thunder-app%2Fthunder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thunder-app","download_url":"https://codeload.github.com/thunder-app/thunder/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247902199,"owners_count":21015407,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","dart","fediverse","fediverse-client","flutter","ios","lemmy"],"created_at":"2024-08-01T16:01:05.067Z","updated_at":"2026-01-06T22:25:49.534Z","avatar_url":"https://github.com/thunder-app.png","language":"Dart","funding_links":[],"categories":["Flutter Project Showcase","Projects","Dart"],"sub_categories":["Mobile / Desktop apps"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/logo.png\" alt=\"Thunder\" width=\"200\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eThunder\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    An open source, cross-platform (iOS \u0026 Android) Lemmy client built with \u003ca href=\"https://flutter.dev/\" target=\"_blank\"\u003eFlutter\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n \u003ca href=\"https://apps.apple.com/iq/app/thunder-for-lemmy/id6450518497\"\u003e\n  \u003cimg src=\"docs/badges/app_store.svg\" height=\"50\"/\u003e\n \u003c/a\u003e\n \u003ca href=\"https://play.google.com/store/apps/details?id=com.hjiangsu.thunder\"\u003e\n  \u003cimg src=\"docs/badges/google_play.svg\" height=\"50\"/\u003e\n \u003c/a\u003e\n  \u003ca href=\"https://apt.izzysoft.de/fdroid/index/apk/com.hjiangsu.thunder\"\u003e\n  \u003cimg src=\"docs/badges/izzy_on_droid.png\" height=\"50\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://github.com/hjiangsu/thunder/releases/latest\"\u003e\n  \u003cimg src=\"docs/badges/github.png\" height=\"50\"\u003e\n \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://lemmy.world/c/thunder_app\"\u003e\n\u003cimg alt=\"Lemmy\" src=\"https://img.shields.io/lemmy/thunder_app%40lemmy.world?label=lemmy%20community\"\u003e\u003c/a\u003e\n\u003ca href=\"https://matrix.to/#/#thunderapp:matrix.org\"\u003e\u003cimg src=\"https://img.shields.io/badge/chat-matrix-blue?style=flat\u0026logo=matrix\" alt=\"matrix chat\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e •\n  \u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e •\n  \u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e •\n  \u003ca href=\"#translations\"\u003eTranslations\u003c/a\u003e •\n  \u003ca href=\"#building-from-source\"\u003eBuilding From Source\u003c/a\u003e •\n  \u003ca href=\"#conventions\"\u003eConventions\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cbr\u003e\n    \u003cimg src=\"./docs/assets/screenshot_2.png\" alt=\"Comments\" width=\"150\"\u003e\n    \u003cimg src=\"./docs/assets/screenshot_1.png\" alt=\"Card View\" width=\"170\"\u003e\n    \u003cimg src=\"./docs/assets/screenshot_3.png\" alt=\"Compact View\" width=\"170\"\u003e\n    \u003cimg src=\"./docs/assets/screenshot_4.png\" alt=\"Customizability\" width=\"150\"\u003e\n  \u003cbr\u003e\n\u003c/div\u003e\n\n\u003chr /\u003e\n\u003cp\u003e\nHey there! Just wanted to let you know that this repo is currently my personal side project to build something cool while learning about Dart and Flutter.\n\u003c/p\u003e\n\u003cp\u003e\nContributions to this project are always welcomed, and in fact, even strongly encouraged here! Since I am only able to work on this during my spare time, any contributions from the community is valuable. If you are a developer, feel free to tackle any issues present.\n\u003c/p\u003e\n\u003cp\u003e\nYour passion, contributions, and ideas would be greatly appreciated! Together, let's make this project shine. 🚀 💻\n\u003c/p\u003e\n\u003chr /\u003e\n\n## Releases\n\n### Android\n\nGeneral releases can be obtained officially through [Google Play Store](https://play.google.com/store/apps/details?id=com.hjiangsu.thunder), [IzzyOnDroid](https://apt.izzysoft.de/fdroid/index/apk/com.hjiangsu.thunder), or through GitHub releases.\n\nPre-releases are available in the [Releases](https://github.com/hjiangsu/thunder/releases) section under the corresponding version. You can also use [Obtainium](https://github.com/ImranR98/Obtainium).\n\n### iOS\n\nGeneral releases can be obtained officially through [App Store](https://play.google.com/store/apps/details?id=com.hjiangsu.thunder), or through GitHub releases.\n\nPre-releases are available through [TestFlight](https://testflight.apple.com/join/9n8xrqvH). An alternative is to download the corresponding IPA file in the [Releases](https://github.com/hjiangsu/thunder/releases) section and install it through [AltStore](https://altstore.io/).\n\n## Features\n\nThunder is currently undergoing **active alpha development**, and it is possible that not all features have been fully implemented at this stage. Due to this, significant breaking changes may occur between versions.\n\nThis is a non-exhaustive list of features that Thunder currently supports:\n\n#### 🏡 **Communities \u0026 Users**\n- Browse general feeds (All / Local / Subscribed)\n- View, subscribe, favorite, and block communities\n- View user posts/comments, and block unwanted users\n\n#### 🌎 **Instances**\n- View instance information and version\n- Block unwanted instances (on supported instances)\n\n#### 🔎 **Search**\n- Show trending communities on the current instance\n- Search for communities, users, posts and comments\n- Apply advanced search filters (sort, feed, community, creator)\n\n#### 🗒️ **Posts \u0026 Comments**\n- Create and edit posts and comments\n- Vote, save, and share posts and comments\n- Customize swipe actions for posts and comments\n- Filter posts based on keywords\n\n#### 🔑 **Accounts**\n- View profile information (posts/comments/saved)\n- View notifications including replies, mentions, and private messages\n- Synced account settings (show read posts, comment scores, bot accounts)\n- Support for multiple accounts, and guest accounts on different instances\n\n#### 🎨 **Customization**\n- Support for Material You theming (on applicable devices)\n- Support for light/dark/OLED/system mode, and preset accent colors\n- Custom font scaling of content\n- Customize and preview post/comment appearance (compact/card)\n\n#### 🎉 **Extras**\n- Import and export app settings\n- In-app update notifications for new GitHub releases\n- Language support via community translations (Weblate)\n\n## Roadmap\n\nThe current focus is to continue to expand on the general functionality and stability of Thunder. This includes but is not limited to:\n\n- Continued improvements to localization and language support via Weblate\n- Improvements to moderation/admin capabilities\n- Improvements to embedded content (video, images, etc.)\n- Improvements to push notification functionality\n\n## Contributing\n\nContributions are always welcome, but please abide by our community [code of conduct](https://github.com/thunder-app/thunder/blob/develop/CODE_OF_CONDUCT.md)!\n\nTo contribute potential features or bug-fixes:\n\n1. Fork this repository, and clone with submodules: `git clone --recurse-submodules -j8 git@github.com:thunder-app/thunder.git`\n2. Base the feature or fix off the `develop` branch. This is to allow for pre-release versions without affecting the main general releases.\n3. Apply any changes and/or additions based off an existing issue (or create a new issue for the feature/fix you are working on)\n4. Create a pull request to have your changes reviewed and merged\n\n## Translations\nInterested in translating Thunder? We use [Weblate](https://hosted.weblate.org/engage/thunder/) to crowdsource translations, so anyone can create an account and contribute!\n\n## Building From Source\n\n### Installing Flutter and Related Dependencies\n\nThunder is developed with Flutter, and is built to support both iOS and Android. There may be unofficial support on other platforms but is not guaranteed at this time (Linux, Windows, MacOS)\n\nTo build the app from source, a few steps are required.\n\n1. Set up and install Flutter. For more information, visit https://docs.flutter.dev/get-started/install.\n2. Ensure that you are on Flutter's `stable` channel using `flutter channel stable`.\n2. Clone this repository and fetch the dependencies using `flutter pub get`\n4. Run `flutter gen-l10n` to generate the localization files.\n5. Optional: Run the build script using `dart scripts/build.dart`, which will build both the iOS and Android release versions. This step is only required if you want to build a release version of the app.\n\n### Building with Docker\n\nAlternatively, you can skip the prerequisite setup and build the Android application via docker with a single command:\n\n```bash\n./scripts/docker-build-android.sh\n```\n\n#### Developing with Docker\n\nYou can also run your local development environment for Android via the Docker container, including connecting to ADB on the host machine.\n\n```\n./scripts/docker-dev-android.sh\n```\n\n### Troubleshooting\n\n```shell\nCould not determine the dependencies of task ':unifiedpush_android:compileReleaseKotlin'.\n\u003e Cannot find a Java installation on your machine matching this tasks requirements: {languageVersion=8, vendor=any, implementation=vendor-specific}\n   \u003e No locally installed toolchains match and toolchain download repositories have not been configured.\n```\n\nResolution: Ensure you have a valid Java 8 installation on your machine.\n\n## Conventions\n\nWhile there are no specific conventions that must be followed, do try to follow best practices whenever possible.\n\nSuggestions are always welcome to improve the code quality and architecture of the app!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthunder-app%2Fthunder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthunder-app%2Fthunder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthunder-app%2Fthunder/lists"}