Skip to content

bastianvv/vio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VIO

VIO is a self-hosted video library server. Think of it as a Navidrome for video media.

It currently focuses on library indexing, metadata modeling, and filesystem correctness, not playback or transcoding.

Status

  • Early development
  • Backend scanning is functional
  • API is unstable
  • UI not implemented yet

Features

  • Incremental filesystem scanning
  • Missing media detection
  • Series / season / episode modeling
  • SQLite backend

Non-goals (for now)

  • Transcoding
  • User management
  • Streaming UI

Requirements

  • Go 1.22+

Running

  • Clone the repository
  • go build ./...
  • go build ./cmd/server
  • ./server

The API will be available at: http://localhost:8080

Architecture & Stability

Core data invariants, lifecycle rules, and API stability guarantees are documented in:

  • docs/architecture.md

These rules define what must never break in VIO.

Tests

Tests live inside /tests folder. This contains both API and unit tests. API tests are written using Bruno, while unit tests are written using Go's built-in testing framework.

Dev Note

This project is currently being developed using a mix between traditional programming and AI-assisted development (ChatGPT). I work in QA and do not have a formal background in backend or functional programming, so this project is as much about learning as it is about building something useful, with a strong focus on correctness, edge cases, and repeatable testing.

Developed using Zed

About

A self-hosted video library server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published