App that keeps track of movies, TV shows, games, books and various other things. This project exists because I'd rather manage these in one self-hosted location instead of multiple third-party services, such as Letterboxd, Goodreads or the Steam Library.
API:
UI:
Ensure that postgres and redis servers are running (listening to default ports).
API (cd api):
-
Install dependencies:
bundle install
-
Setup database:
./bin/rails db:setup
-
Apply migrations:
./bin/rails db:migrate
UI (cd ui):
- Install dependencies:
npm install
API (cd api):
brew services start postgresql@14
brew services start redis
./bin/rails serverUI (cd ui):
npm run devThen visit http://localhost:3001.
API (cd api):
./bin/rails testUI (cd ui):
npm run testThe top level directory contains some convenience scripts to help with deploying and spawning remote shells.
deploy: Builds and deploys backend and frontend to lists.rathr.ioredis: Spawns aredis-cliin the redis containerpostgres: Spawns apsqlshell in the postgres containerweb: Spawns a shell in the web container
Lists relies on the following APIs to scrape meta info:
- Movies / TV Shows: The Movie DB
- Video Games: IGDB
- Books: Google Books
- Recipes: Edaman
