Skip to content

Steva0/Media-Library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

365 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Media Library

Documentation

Project Structure

The project is organized into several main components:

Core Media Classes

  • Media: Base class for all media types
  • Derived classes include: Album, Movie, Series, Novel, EBook, and AudioBook
  • Implements polymorphic behavior through virtual methods

Memory Management

  • Database: Central class managing media collection
  • FileManager: Handles file I/O operations
  • Serializer: Manages JSON/XML serialization

GUI Components

  • Built using Qt framework
  • Features multiple specialized widgets for different media types
  • Implements visitor pattern for widget creation
  • Includes two search systems:
    • Basic search (real-time title search)
    • Advanced search (multi-parameter filtering)

Design Patterns

  • Visitor Pattern: Used for media type operations
  • Polymorphism: Implemented through virtual methods
  • Component-based GUI architecture

Development Notes

  • Warning-free compilation across different Qt versions
  • Responsive design with animation support
  • Strict input validation
  • Clear separation between business logic and presentation layer

Build Instructions

Detailed build instructions are available in the project's build documentation. For development environment setup, refer to the Qt documentation (6.2.4 or higher). A modern C++ application to manage your media collection efficiently.

Authors

  • Alessandro Morabito (2137991)
  • Michele Stevanin (2101741)

Description

Media Library is a C++ application developed using the Qt framework, designed to help users organize and manage their media files. It allows creation, deletion, and modification of music albums, movies, TV series, books, eBooks, and audiobooks through an enriched graphical interface.

Key Features

  • Real-time basic search on media titles (case-insensitive)
  • Advanced search with multiple parameter filtering
  • JSON/XML data persistence
  • Rich graphical interface with animated transitions
  • Support for various media types:
    • Music Albums
    • Movies
    • TV Series
    • Books
    • eBooks
    • Audiobooks

Technical Details

  • Developed in C++
  • Built with Qt framework (tested with Qt 6.4.2 and 6.2.4)
  • Implements object-oriented design patterns
  • Hierarchical class structure with polymorphism
  • Clean separation between logic and UI
  • Warning-free compilation

Installation

  1. Clone the repository
  2. Ensure Qt framework is installed (6.2.4 or higher)
  3. Build using qmake
  4. Run the application

Requirements

  • Qt 6.2.4 or higher
  • C++ compiler
  • qmake 3.1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •