Checkout This Kanban Board to see the rough development roadmap.
Note 1: Notify the developers on Suwayomi discord (#tachidesk-server and #tachidesk-webui channels) or open a WIP pull request before starting if you decide to take on working on anything from/not from the roadmap in order to avoid parallel efforts on the same issue/feature.
Note 2: Your pull request will be squashed into a single commit.
- Porting Tachiyomi and covering it's features
- Syncing with Tachiyomi, main issue
- Generally rejecting features that Tachiyomi(main app) doesn't have,
- Unless it's something that makes sense for desktop sizes or desktop form factor (keyboard + mouse)
- Additional/crazy features can go in forks and alternative clients
- Tachidesk-WebUI should
- be responsive
- support both desktop and mobile form factors well
This project has two components:
- Server: contains the implementation of tachiyomi's extensions library and uses an Android compatibility library to run jar libraries converted from apk extensions. All this concludes to serving a REST API.
- WebUI: A React SPA(
create-react-app
) project that works with the server to do the presentation located at https://github.com/Suwayomi/Tachidesk-WebUI
This structure is chosen to
- Achieve the maximum multi-platform-ness
- Gives the ability to access Tachidesk-Server from a remote client e.g., your phone, tablet or smart TV
- Ease development of user interfaces for Tachidesk
You need these software packages installed in order to build the project
- Java Development Kit and Java Runtime Environment version 8 or newer(both Oracle JDK and OpenJDK works)
Run ./gradlew server:downloadWebUI server:shadowJar
, the resulting built jar file will be server/build/Tachidesk-Server-vX.Y.Z-rxxx.jar
.
Delete server/src/main/resources/WebUI.zip
if exists from previous runs, then run ./gradlew server:shadowJar
, the resulting built jar file will be server/build/Tachidesk-Server-vX.Y.Z-rxxx.jar
.
First Build the jar, then cd into the scripts
directory and run ./windows-bundler.sh win32
or ./windows-bundler.sh win64
depending on the target architecture, the resulting built zip package file will be server/build/Tachidesk-Server-vX.Y.Z-rxxx-winXX.zip
.
run ./gradlew :server:run --stacktrace
to run the server
run ./gradlew :server:test
to execute all tests
to test a specific class run ./gradlew :server:test --tests <package.with.classname>
Run AndroidCompat/getAndroid.sh
(macOS/Linux) or AndroidCompat/getAndroid.ps1
(Windows)
from project's root directory to download and rebuild the jar file from Google's repository,
then use AndroidCompat/lib/android.jar
to manually create a maven repository inside the android-jar
git branch.
Update the dependency declaration afterwards.