Giter Site home page Giter Site logo

bazsy01 / thunder Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thunder-app/thunder

0.0 0.0 0.0 7.12 MB

Thunder - An open-source cross-platform Lemmy client for iOS and Android built with Flutter

License: MIT License

Shell 0.12% Ruby 1.04% C++ 3.90% C 0.23% Objective-C 0.01% Kotlin 0.02% Dart 90.30% Swift 0.44% HTML 0.58% CMake 2.99% Dockerfile 0.38%

thunder's Introduction


Thunder
Thunder

An open source, cross-platform Lemmy client built with Flutter

License Stars Forks Platforms

Latest Release IzzyOnDroid

FeaturesRoadmap

ContributingBuilding From SourceConventionsRelated Packages


Home Feed Spark Sidebar

Hey 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.

Contributions 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.

Your passion, contributions, and ideas would be greatly appreciated! Together, let's make this project shine. 🚀 💻


Releases

Android

If you are on Android, you can download Thunder from the Google Play store. There is also an option to obtain the releases through IzzyOnDroid if you are interested. Finally, all releases (including alpha builds) are available in the Releases section under the corresponding version.

iOS

If you are on iOS, there is TestFlight available through this link. An alternative is to download the corresponding IPA file in the Releases section and install it through AltStore.

Features

Thunder is currently undergoing active 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. The next section summarizes the features that are currently implemented.

Communities

  • Browsing through general (All/Local) feeds, as well as specific communities
  • Ability to search for communities that are federated with the current instance
  • See a list of subscriptions, and access their community posts and general information

Posts & Comments

  • Voting (upvote/downvote) and save actions for posts and comments
  • Infinite scrolling for posts and comments
  • Ability to create a new post, and reply to posts/comments

Authentication

  • Ability to log into multiple instances, and switch between them

Theme & Customization

  • Basic customization for the look of posts
    • Standard/Compact views
    • Toggle full image views or a compacted image view
    • Toggling voting and saving actions
  • Light, dark, and OLED themes available

Extras

  • In-app update notifications for new releases on GitHub

Roadmap

The current focus is to provide a MVP to be able to do basic tasks, including

  • Inbox features (replies, mentions, private messages)
    • Ability to view your inbox, and be able to mark them as read
    • Ability to reply to inbox messages
    • Ability to see full context of a given inbox message (navigate to post, or comment for replies and mentions)
  • Improvements to accessibility services
  • More customizability of post views (compact, normal, expanded, etc.)

Contributing

Contributions are always welcome! To contribute potential features or bug-fixes:

  1. Fork this repository
  2. Apply any changes and/or additions based off an existing issue (or create a new issue for the feature/fix you are working on)
  3. Create a pull request to have your changes reviewed and merged

Building From Source

Installing Flutter and Related Dependencies

Thunder is developed with Flutter, and is built to support both iOS and Android. There may be limited support on other platforms but is not guaranteed at this time (Linux, Windows, MacOS)

To build the app from source, a few steps are required.

  1. Set up and install Flutter.
  2. Clone this repository and fetch the dependencies using flutter pub get
  3. Generate an empty .env file. The .env file holds any credentials. At the time of writing, en empty .env file with a comment is all that is required.
  4. Run the build script using dart scripts/build.dart, which will build both the iOS and Android release versions

Building with Docker

Alternatively, you can skip the prerequisite setup and build the Android application via docker with a single command:

./scripts/docker-build-android.sh

Developing with Docker

You can also run your local development environment for Android via the Docker container, including connecting to ADB on the host machine.

./scripts/docker-dev-android.sh

Environment File

This is an example of the .env that can be used for Thunder.

# Empty Environment File

Conventions

While there are no specific conventions that must be followed, do try to follow best practices whenever possible.

Suggestions are always welcome to improve the code quality and architecture of the app!

Related Packages

Thunder uses the following packages and libraries under the hood. This is not an exhaustive list.

Custom Built Libraries

lemmy-dart - Custom Lemmy API library written in Dart.

thunder's People

Contributors

hjiangsu avatar ctalvio avatar micahmo avatar mrantons avatar hbbit-dev avatar fmstrat avatar julianpaulus avatar guigs4 avatar coslu avatar vbh avatar ggichure avatar tombursch avatar minicit avatar benjamint22 avatar izzysoft avatar krestenlaust avatar machinaezer0 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.