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:
typescriptinterface 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