MediaVault

Status: in-progress
TypeScriptAngularJavaSpringboot

MediaVault (Version 1.0)

Overview

A home media management system designed for home servers, providing efficient organization and control of media content. Currently transitioning to Version 2.0 with a complete architectural redesign.

Version 1.0 Features

  • Media tracking and cataloging
  • Service management dashboard
  • Inventory system with analytics
  • Multi-framework architecture

Technical Implementation (v1.0)

Backend Architecture

The initial version utilized a Spring Boot backend with JPA:

java
@Service
public class MediaService {
    @Autowired
    private MediaRepository mediaRepository;
    
    public List<Media> getCatalog() {
        return mediaRepository.findAll();
    }
    
    public MediaStats getStatistics() {
        return new MediaStats(
            mediaRepository.countByType("MOVIE"),
            mediaRepository.countByType("SERIES")
        );
    }
}

Frontend Dashboard

Angular-based dashboard implementation:

typescript
interface DashboardStats {
    totalMedia: number;
    activeServices: Service[];
    storageUsage: StorageMetrics;
}

@Component({
    selector: 'app-dashboard',
    template: `
        <div class="stats-container">
            <media-counter [stats]="dashboardStats"/>
            <storage-usage [metrics]="dashboardStats.storageUsage"/>
        </div>
    `
})

Version 2.0 (Under Development)

A complete architectural redesign is currently underway, featuring:

  • Simplified tech stack using Python/Flask and SQLite
  • Streamlined UI/UX design
  • Unified framework approach
  • Enhanced performance and maintainability

Note: A detailed blog post about the transition from v1.0 to v2.0 and the architectural decisions behind the change will be published once v2.0 reaches a stable state. A new project card for MediaVault v2.0 will also be added at that time.

Tech Stack (v1.0)

  • Frontend: Angular with TypeScript
  • Backend: Java Spring Boot
  • Database: PostgreSQL
  • API: REST with Spring Web

Development Status

  • Version 1.0: Completed
  • Version 2.0: In Development