Giter Site home page Giter Site logo

styx-2m's Introduction

Styx 2 Mobile Client

The new mobile client for yet another mediaserver stack.
Truly native on Android.
iOS should technically be working already (besides the player), but I haven't found the time to finish it up.

Features & Architecture

  • Entire UI written in Kotlin using Compose Multiplatform
    With most of the code located in a common and a common-compose library
  • Material 3 Design
    Loosely following official guidelines
  • No constant connection required
    • All data is synced on startup or with a manual refresh1
    • All images are cached locally1
    • Watch progress and favourites are always local-first and synced to the server when a connection is possible

Android specific

  • Custom video player based on libmpv (see screenshots)
    Leveraging these bindings by the findroid author

Screenshots

Click here

Search & Detail view

Settings

Player view

How do I use this?

Short answer You don't.
Long answer

There is no public instance for this.
You will have to build every part of the ecosystem yourself and run it on your own server.

How to build

Before running (if on MacOS)

  • check your system with KDoctor
  • install JDK 17 on your machine
  • add local.properties file to the project root and set a path to Android SDK there

Android

To run the application on android device/emulator:

  • open project in Android Studio and run imported android run configuration

To build the application bundle:

  • run ./gradlew :composeApp:assembleDebug
  • find .apk file in styx2m/build/outputs/apk/debug/styx2m-debug.apk

iOS

To run the application on iPhone device/simulator:

Footnotes

  1. I realize this may be infeasible when working with a huge library but this is not a concern for me and I'm building this just for me. With my current library of ~10TB I'm sitting at around 30MB of cached images and ~7MB of other data on the clientside.
    2

styx-2m's People

Contributors

vodes avatar

Stargazers

Marek Veselý avatar

Watchers

 avatar

styx-2m's Issues

Player Enhancements

  • Chapter skipping (maybe longpress on fastforward buttons)
  • Track (Audio/Subs) selection

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.