Movie Star — Encrypted Movie Preferences in your Data Vault

An ANU Software Innovation Institute demonstrator for your Data Vault.

Time-stamp: <Tuesday 2025-07-22 21:12:27 +1000 Graham Williams>

Authors: Kevin Wang, Ashley Tang, Zheyuan Xu, Graham Williams

ANU Software Innovation Institute

License: GNU GPL V3

Flutter Dart

GitHub License Flutter Version Last Updated GitHub commit activity (dev) GitHub Issues

Run the app online: web.

Download the latest version: GNU/Linux deb or zip; Android apk; macOS zip; Windows zip or inno.

Coding documentation is available from solid community au

Introduction

A personal movies (and TV series) database and recommender.

Visit https://moviestar.solidcommunity.au/ to run the app online.

See installers for instructions to install on your device.

Visit the Solid Community AU Portfolio for our portfolio of Solid apps developed by the community.

The app is implemented in Flutter using our own solidpod package for Flutter to manage the Solid Pod interactions, and markdown_tooltip to enhance the user experience, guiding the user through the app, within app.

User Stories

Personal Movie Data Store

As a user I can

  • X Retrieve movie details from imdb or movielens or themoviedb
    • X Artwork
    • X Release date
    • X Description
    • X Rating
  • X View all movies in the GUI using movie art work
  • Settings to store my API key
  • New lists with names that I choose (e.g., Watched and To Watch)
  • Have any number of lists
  • Add movies to my Watched list or my To Watch list
  • Have the lists stored in my POD encrypted including the meta data
  • Retrieved the two lists from my POD on startup
  • Add my own comments to a movie (text)
  • Add a rating with a movie (0-5?)
  • My Movie Lists can be sorted by
    • name
    • rating
    • release date

Sharing my Movies

As a user I can

  • Share all my movies data with another user
  • See who has shared their movies with me
  • Switch to a view of another user's movies - perhaps on HOME
  • Summarise movies across users
    • Frequency count
    • Total ratings count

Recommending Movies

As a user I can

  • Add private (not shared) views of other users sharing movies
    • Includes a weighting for each user (0-5, default 2)
  • Add to summarise movies across users
    • Weighted ratings of movies - user rating * their movie rating

Add support for recommendation engine - review https://github.com/recommenders-team/recommenders.

Libraries

constants/cache_constants
Cache constants for the Movie Star application.
Navigation style constants.
constants/paths
Path constants for the movie star application.
dialogs/alert
Show an Alert dialog
features/file/browser/components/components
Components for the file service feature.
features/file/browser/components/directory_list
A directory list widget for displaying folders.
features/file/browser/components/file_list
A file list widget for displaying files.
features/file/browser/components/file_list_item
A file list item widget for displaying individual files.
features/file/browser/components/path_bar
A path bar widget for file browser navigation.
features/file/browser/content
A content widget for the file browser.
features/file/browser/loading_state
A loading state widget for the file browser.
features/file/browser/models/file_item
File item widget.
features/file/browser/operations/file_operations
File operations utility class for handling file system interactions.
features/file/browser/page
A file browser widget.
features/file/browser/utils/empty_directory_view
An empty state widget for the file browser.
features/file/service/components/components
Components for the file service feature.
features/file/service/components/file_service_widget
File service widget that provides file upload, download, and preview functionality.
features/file/service/components/file_upload_section
File upload section component for the file service feature.
features/file/service/models/file_state
File state model for the file service.
features/file/service/page
File service page for the file service feature.
features/file/service/providers/file_service_provider
File service provider for the file service feature.
home
Moviestar - Manage and share ratings through private PODs.
main
Moviestar - Manage and share ratings through private PODs
models/movie
Data model representing a movie in the Movie Star application.
moviestar
Moviestar - Manage and share ratings through private PODs.
my_home_page
Moviestar - Manage and share ratings through private PODs.
providers/cached_movie_service_provider
Provider for the cached movie service in the Movie Star application.
providers/database_provider
Hive database provider for the Movie Star application.
providers/hive_cache_service_provider
Hive cache service provider for the Movie Star application.
providers/movie_cache_provider
Provider for managing movie cache repository access throughout the app.
providers/theme_provider
Riverpod providers for theme management.
screens/coming_soon_screen
Screen displaying upcoming movies and their release dates.
screens/home_screen
Moviestar - Manage and share ratings through private PODs
screens/movie_details_screen
Screen displaying detailed information about a selected movie.
screens/search_screen
Screen for searching and discovering movies in the Movie Star application.
screens/settings_screen
Screen for managing user settings and preferences.
screens/shared_movies_screen
Shared Movies Screen for MovieStar.
screens/to_watch_screen
Screen for managing the user's list of movies to watch.
screens/watched_screen
Screen for managing the user's list of watched movies.
services/api_key_service
Service for managing API keys in the Movie Star application.
services/cache_settings_service
Service for managing cache settings with persistent storage.
services/cached_movie_service
Hive-based cached service for managing movies.
services/favorites_service
Service for managing favorite movies in the Movie Star application.
services/favorites_service_adapter
Adapter to make FavoritesServiceManager compatible with existing screens. Includes caching functionality for better performance.
services/favorites_service_manager
Service manager that switches between local and POD storage for favorites.
services/hive_cached_movie_service
Hive-based cached service for managing movies in the Movie Star application.
services/hive_movie_cache_service
Hive-based movie cache service for the Movie Star application.
services/movie_list_service
Service for managing MovieList entities in the Movie Star application following the ontology structure.
services/movie_search_service
Service for searching movies by title, actor, and genre.
services/movie_service
Service for managing movies in the Movie Star application.
services/pod_favorites_service
POD-based service for managing favorite movies using Solid POD storage.
services/theme_service
Service for managing application theme preferences.
services/user_profile_service
Service for managing user profiles in the Movie Star application following the ontology structure.
theme/app_theme
Theme configuration for the Movie Star application.
utils/create_app_folder
Create app folder.
utils/create_solid_login
Create Solid Login Widget. Copyright (C) 2025, Software Innovation Institute, ANU
utils/date_format_util
Utility class for formatting dates in a consistent and locale-aware manner.
utils/initialise_app_folders
Initialise app folders.
utils/is_desktop
Check if we are running a desktop (and not a browser).
utils/is_logged_in
Utility to check if the user is logged in. Copyright (C) 2025, Software Innovation Institute, ANU
utils/is_text_file
Check if a file is a text file. Copyright (C) 2025, Software Innovation Institute, ANU
utils/movie_sort_util
Utility functions for sorting movies.
utils/network_client
A utility class for handling HTTP requests with consistent error handling and configuration.
utils/pod_path_helper
Utility functions to handle solidpod path discrepancies between writePod and readPod.
utils/save_decrypted_content
Save decrypted content. Copyright (C) 2025, Software Innovation Institute, ANU
utils/show_alert
Show alert safely. Copyright (C) 2025, Software Innovation Institute, ANU
utils/tmdb_image_util
Utility class for handling TMDB image URLs.
utils/turtle_serializer
Utility for converting Movie objects to/from Turtle (TTL) format using solidpod RDF functions.
widgets/cache_feedback_widget
Widget for providing user feedback about cache performance.
widgets/cache_status_indicator
Widget for showing current cache status in the UI.
widgets/error_display_widget
A reusable widget for displaying error states with consistent styling.
widgets/floating_theme_toggle
A floating theme toggle button that can be positioned anywhere on screen.
widgets/list_shared_movies
List Shared Movies Widget for MovieStar.
widgets/movie_card
Reusable movie card widget with cache status indicators.
widgets/moviestar_nav_config
Moviestar - Manage and share ratings through private PODs.
widgets/quick_actions_dialog
Quick actions dialog for movie cards on hover.
widgets/share_list_dialog
Share List Dialog Widget
widgets/solid_nav_bar
Solid Navigation Bar.
widgets/solid_nav_drawer
Solid Navigation Drawer.
widgets/solid_nav_models
Solid Navigation Models - Generic data models for navigation components.
widgets/solid_nav_utils
Solid Navigation Utilities.
widgets/solid_navigation_manager
Solid Navigation Manager for automatic layout switching.
widgets/sort_controls
Widget for sorting movies.
widgets/theme_toggle_button
Theme toggle button widget for switching between light and dark modes.