Skip to content

jbrodriguez/mediagui

Repository files navigation

mediaGUI

tl;dr mediaGUI is a web based app to catalogue a movie library. It scans the folders you choose looking for movies, then fetch metadata from themoviedb.org and iMDB.

Screenshots

Cover View

Screenshot

Movies View

Screenshot

Introduction

mediaGUI's main objective is to be rewritten whenever I want to learn a new technology.

Summary

6th Iteration

  • update stack to vitejs
  • modernize go code
  • i touch this project sparingly, so I'm switching back to react for easier maintenance
  • swr for data fetching

5th Iteration

gRPC is easier to work with than go-micro (+consul).

4th Iteration

@vue-cli 3.x is an awesome tool.

I'd say it's the reference right now, like parceljs on steroids for vuejs.

I can't say the same about vuex modules.

It's probably because I'm using class decorators and typescript, but namespacing doesn't feel quite right.

Hopefully vue 3.x will improve in that aspect.

3rd Iteration

vuejs is a pleasure to work with.

Its main assets are:

  • vue-cli: creates a starter project, you just need to start coding and not worry about tooling
  • vuex: opinionated and easy state management

The combination of vue-cli/vuex takes away a lot of the guess work that you generally find in redux (how to structure the app, etc.).

Although vuex has some boilerplate, it still feels less than redux's.

App Structure

The docs folder contains the schema for the sqlite db that supports the application.

By default, the app will build/look for the following structure

~ (home folder)
|_ .mediagui
|__ mediagui.conf (if required)
|__
db (sqlite db)
|__ web
|____
index.html
|__ js
|__ css
|__ img (storage for movie covers, backdrops, etc)