Skip to content

About

A cross-platform mobile app that lets you manage your FlaskCast server running remotely on the same Wi-Fi network.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

FlaskCast Manager

English version

Cliente multiplataforma (Android, Escritorio, iOS) para la API REST de FlaskCast — gestión de series, películas, progreso, favoritos y listas de reproducción.

Importante: La aplicación necesita que la API de FlaskCast esté ejecutándose para funcionar. Sin ella no se podrán realizar ni lecturas ni escrituras.


Requisitos

  • JDK 17+
  • Android SDK (compileSdk 36) para Android
  • Xcode para iOS
  • Python 3 + Flask corriendo la API de FlaskCast

Ejecutar

# Android
./gradlew :androidApp:assembleDebug

# Escritorio (hot reload)
./gradlew :desktopApp:hotRun --auto

# Escritorio (estándar)
./gradlew :desktopApp:run

# iOS — abrir iosApp/ en Xcode

Tests

./gradlew :shared:testAndroidHostTest   # Android
./gradlew :shared:jvmTest              # Escritorio
./gradlew :shared:iosSimulatorArm64Test # iOS

Estructura del proyecto

FlaskCastManager/
├── androidApp/          # App Android
├── desktopApp/          # App Escritorio (JVM + Compose)
├── iosApp/              # App iOS (SwiftUI entry point)
├── shared/              # Código compartido
│   └── src/
│       ├── commonMain/  # Lógica y UI compartida (API, pantallas, i18n)
│       ├── androidMain/ # Implementación Android (contexto, browser)
│       ├── jvmMain/     # Implementación Desktop (browser)
│       └── iosMain/     # Implementación iOS (browser)
└── gradle/libs.versions.toml

API FlaskCast

La app se conecta a la API de FlaskCast via HTTP. La URL del servidor se configura en la pantalla de login.

Autenticación

Sesión basada en cookies (HTTP cookies gestionadas por Ktor HttpCookies).

Endpoints principales

Método Endpoint Descripción
GET /api/videos Obtener todos los videos
GET /api/videos/{serie} Obtener videos de una serie
GET /api/estados Obtener estados de los videos
POST /api/videos/add Agregar video (multipart: serie, temporada, archivo)
POST /api/guardar_progreso Guardar progreso de visualización
POST /api/toggle_favorito Alternar favorito
POST /api/guardar_lista Guardar en lista de reproducción
POST /api/convertir Convertir video a MP4
POST /api/eliminar_video Eliminar archivo de video
POST /api/contenido/crear Crear serie/película nueva
POST /api/contenido/temporada Crear temporada
GET /usuarios_panel Obtener lista de usuarios (HTML)

Códigos de estado

Código Estado
0 Pendiente
1 Viendo
2 Visto
-1 Eliminar

Funcionalidades

  • GETs: Obtener videos, videos por serie, estados, progreso, favoritos, listas
  • POSTs: Agregar video, guardar progreso, toggle favorito, guardar lista, convertir MP4, eliminar archivo, crear contenido, crear temporada
  • Selector de archivos: Seleccionar video desde el dispositivo con FileKit
  • Login de usuario: Selección de perfil con persistencia de sesión
  • i18n: Español / English con toggle en pantalla de login
  • Icono de app: Soporte en Android (mipmaps), Escritorio (resources) y iOS (Assets)
  • Abrir en navegador: Botón fijo para abrir la interfaz web de FlaskCast

Guía de uso rápida

  1. Iniciar la API — Correr FlaskCast (python app.py)
  2. Abrir la app — Ejecutar en la plataforma deseada
  3. Configurar dominio — Ingresar la IP/puerto del servidor en el campo de Dominio
  4. Iniciar sesión — Presionar "Iniciar sesión" y seleccionar un usuario
  5. Explorar — Usar los botones GET para ver datos, POST para modificar
  6. Agregar video — Presionar "Agregar Video", completar serie/temporada, seleccionar archivo
  7. Gestionar contenido — Crear series, temporadas, convertir videos, eliminar archivos

Tecnologías

Tecnología Versión
Kotlin 2.4.10
Compose Multiplatform 1.11.1
Ktor (HTTP client) 3.1.1
kotlinx-serialization 1.8.0
kotlinx-coroutines 1.11.0
Material3 1.11.0-alpha07
FileKit 0.14.2
Android (compileSdk) 36

About

A cross-platform mobile app that lets you manage your FlaskCast server running remotely on the same Wi-Fi network.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages