Giter Club home page Giter Club logo

letsrolld's Introduction

letsrolld

Development

  1. Install flox.

  2. Activate flox environment.

flox activate
  1. Install dependencies not packaged for nixos, yet.
make install
  1. Run the tests.
make test
  1. Initialize an empty database.
make init_db

If the database is already initialized, you may need to update its schema if there were new alembric migrations added. To do this, run the following command:

make run-db-upgrade
  1. Populate the database with test data. This will initialize the database with 10 directors and their films, by default.
make populate
make run-all
  1. Run the web backend.
make webapp

At this point, the backend should be running at http://localhost:8000. You can access the API schema at http://localhost:8000/api/doc/swagger.json.

  1. Open Web UI.
make ui

This should open your browser with the frontend.

letsrolld's People

Contributors

booxter avatar nia-ja avatar

Watchers

 avatar  avatar

Forkers

nia-ja

letsrolld's Issues

Add github action to sanity check the suite

Steps to implement

  • activate flox environment.
  • make install
  • make init_db && populate
  • make webapp
  • run a CLI client against the webapp and confirm it returns something sane. (TODO: need to implement the client first)

Delete movies that are not tied to a director

On director update, a movie may be detached from a director; or perhaps moved to a new text-slug. In this case, the old record is left in the database. This should be cleaned up.

Build custom http cache layer backed by files

sqlite is not very flexible, and it may be useful to keep htmls as files for further processing in this or other projects.

Since the cache is already in sqlite db, I'll need to migrate it from there.

Implement crawler to discover new directors / movies

Right now, the assumption is that I have the full list of directors; I may not (esp. as new directors are born). I should try to find new ones somehow, e.g. by following paths from other crew members (first just other directors, but paths through actors and other staff is probably more promising, since directors don't usually work together; but actors do.)

Support book tracking

Preferences can be pulled from e.g. goodreads.

Note: the size of the database may be enormous because the high number of books, comparing to e.g. movies.

Public deployment of the webapp

This is a meta ticket. I would have to resolve a number of issues before I can proceed. E.g. authN, security, scale etc. This is aspirational for now.

Support music tracking

Preferences can be extracted from services like spotify or last.fm. Information about releases can be extracted from RYM.

Get rid of dependencies that are not in nixos packages

Right now these are

    "cli-color-py",
    "simple-justwatch-python-api",

The former is not needed except in recommend script that is obsolete; the latter is already kinda forked and we should probably just ditch it and have something in-house to talk graphql.

Build recommendation page

The page would consume a config (first global, then per-profile) and produce report page. The report generation should be independent of representation so that I can later generate e.g. emails of the same.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.