Skip to content
This repository has been archived by the owner on Feb 24, 2018. It is now read-only.
Marcin Kurczewski edited this page Jul 14, 2013 · 19 revisions

Roadmap

  1. Add average user rating to media processor
  2. Add content presenters:
    There probably should be some Presenter abstract class that is implemented by classes like: UserProfilePresenter, GlobalDataPresenter, ... .
    Each of these should:
    1. call low-level fast SQL queries,
    2. be able to work in two modes:
      1. dynamic - when you visit user page through your browser,
      2. static - when it's called by back end to cache user data.

Problems

  1. What to do with users that are queued, and then it turns out they do not exist on MAL?
  2. What parts should be generated statically, and what dynamically?
  3. What about user settings regarding image colours?
  4. Front end versus Presenter: the front end control flow should probably be done inside abstract methods of Presenter (and UserPresenter?) class.

Solved problems

  1. Dequeuing users: When you visit any user page regardless whether it's cached or not, ready to be served or not - add the user to queue. Back end should pick up users from queue and immediately remove them after processing.
  2. Back end control flow:
    1. Pick up queued users,
    2. Download their stuff and put it into DB (UserProcessor),
    3. Download missing or old anime/manga stuff and put it into DB (AnimeProcessor, MangaProcessor),
    4. Render content for all users that were just downloaded (*Presenter),
    5. Render global data (GlobalDataPresenter).
  3. Front end control flow:
    1. Queue users into back end,
    2. If cache exists, send the cache,
    3. If cache does not exist, but user exists in local DB, render and save cache, then send the cache,
    4. Otherwise display friendly message about first-time queue.
  4. Back end operating mode - for now, let's assume it should pick up maximally n users every run and use control flow described above.
Clone this wiki locally