Skip to content

numq/Stash

Repository files navigation

Stash

Android file sharing application client

See also:

Compose Desktop: client & embedded server

React Electron: client & embedded server

Architecture

  • Clean Architecture
  • Domain driven design
  • Reactive programming
  • Functional programming - monadic error handling, pipeline, clean functions (side effects control)
  • Screaming architecture (features)
  • MVVM
  • Unidirectional Data Flow (state reduction)

Structure

Overview

Data layer:

  • Socket client

Domain layer:

  • Entities (File, Folder, etc.)
  • Interactors (Start sharing, Share file, etc.)
  • FileRepository
  • FolderRepository
  • TransferService

Framework:

  • DI
  • Context dependent components (OS services, etc.)
  • Navigation
  • Presentation (viewModels, screens)

Features:

  • Folder sharing mode
  • Offline mode
  • Share file (if sharing)
  • Remove file (if sharing)
  • Download file
  • Show image content
  • Show file details (carousel)
  • Files selection
  • Selected files actions
  • Download multiple files as ZIP
  • Auto reconnection
  • Interactive download notifications

Tech:

  • Android
  • Kotlin
  • Jetpack Compose
  • ArrowKT
  • Koin DI
  • Java WebSocket

Releases

No releases published

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy