4

Background

My father rates every movie, TV show, book and ebook that he encounters on a scale of 1-10. He has been doing this for 40 years and has a sophisticated notebook (i.e. paper) system. He also re-watches and re-reviews his top 100 every decade (for movies anyway). I'm looking for a way to do this digitally. I think this is a cool habit but I cringe at the cascading updates that are necessary to keep averages up to date.

These are the movie ratings

Requirements

  • Each entry has:
    • multiple reviews (taken over time)
    • an author/creator
    • a title
  • Each review has:
    • a date
    • a rating (1-10 preferred)
    • a paragraph
  • Stats:
    • Average rating per entry
    • Average rating per author/creator

Preferences

  • Offline-friendly
  • Linux compatible (Windows is palatable)
  • Open source
  • Create categories (e.g. movie, TV show, book)
  • Show top 100 in each category
  • Group entries (e.g. episodes into a season)
  • Group groups (e.g. seasons into a show)
  • Ability to review groups
  • Show average group rating
3

What you are looking for is called a database, (some people try to use a spreadsheet but just don't be one of them). It will allow you to store whatever data you need to store, query it, update it, query it, etc. You would need one set of records with details about the items movies, etc. with the title, originator, possibly cast, etc., another with reviews which would reference the items and have the review author, rating, date/time, text, etc. - the statistics, ratings, etc., would be generated by queries.

There are lots of databases for Linux available but probably the easiest to start with which ticks all of your boxes would be LibreOffice Base.

  • Offline-friendly Yes
  • Linux compatible (Windows is palatable) Yes - your Linux probably already has it installed but it is available for Windows & OS-X as well
  • Open source Yes
  • Create categories (eg movie, tv show, book) - Just add a field to the items then you can sort & filter
  • Show top 100 in each category - Just add a query for this information.
  • Group entries (eg episodes into a season) - Another query, note these details need to be fields in the items
  • Group groups (eg seasons into a show) - Ditto
  • Ability to review groups Yes
  • Show average group rating Again a query

Another Open Source Option - Camelot

Another, lighter, way to go that is still open source and requires some self assembly, but with a detailed getting started guide that happens to target a Movie Database, is python-camelot.

  • Detailed tutorial on creating a movie database here
  • Based on Python, SQLAlchemy, QT & Spyder
  • The Python programming language is very fast to start learning with lots of online tutorials, support groups, tutorials & books (several free).
  • Cross Platform
  • Free for personal use

Other things to consider

  • You obviously wish this to be a long term project so going open source is a good way to go for sustainability.
  • Wizards to help with database design, queries & user forms.
  • If you go the LibreOffice route and your system grows the data can be moved, (exported), to a more powerful database back end and the existing forms, queries, etc. will still work with Base acting as a front end for the database.
  • Don't be put off by having a few days, or weeks, of up front effort - your father has spent 40 years on this so far and you are looking to continue making this a multi-generational project
  • If you father has a neat consistent hand, or better yet typed his records, it might be worth the effort of trying to scan in and OCR the records so as to capture the 40 years of effort as a starting point - there are free open source OCR projects, some of which support learning handwriting, many of which are either in python or can be interfaced from python. This is a starting point especially here.
  • I would also look at interfacing to IMDb, using a tool such as IMDbPy, to drastically reduce the amount of data entry - such usage sounds compatible with the terms of use for IMDb.
  • I would suggest asking your father a) how long it took for him to settle on the format that he now uses for his records & b) if there are any things that he wishes that he had included, or excluded, from the system but had been doing it for too long to easily change.
  • I like the idea of being able to run SQL queries. I tried LO Base; it is a little bulky for something this simple and designing forms was a bit of a nightmare. I think this might be a great idea but the 'some assembly required' aspect is a hangup for me. – NonlinearFruit Nov 29 '16 at 2:58
  • @NonlinearFruit - How long did it take your father to come up with the format that he uses today? Basically if you would like something that is an exact fit you have to pay either in time & learning or cold hard cash. – Steve Barnes Nov 29 '16 at 7:53
  • The last modification was in 2005 when he started rating tv shows by episode instead of season. I agree that an exact fit is either DIY or $$$. I'm hoping that these requirements are run-of-the-mill enough for there to be a solution somewhere. But I'll DIY some javafxr and see what happens. – NonlinearFruit Nov 29 '16 at 14:10
  • Here is a youtube tutorial for LibreOffice Base. – NonlinearFruit Mar 17 '17 at 17:26
2

Retrospector

I needed a solution for these requirements so I made Retrospector. Retrospector is a tool that allows you to create Media and for each Media you can create multiple Reviews. Each Media has a:

 - Title
 - Creator
 - Season
 - Episode
 - Category
  - Book, Movie, ...
 - Description
 - Reviews

Each Reveiw has:

- Rating 
 - 1 to 10
- Username
- Date
- Description

For each Media you can see the average rating and you can also get the average rating for a particular creator. There are charts, top 10 lists and a tab with achievements.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.