Giter Site home page Giter Site logo

cls's Introduction

Lifestyle

This project is a naive attempt at household management, e.g. things like:

  • movie watchlists
  • shopping lists
  • holiday planning, etc.
  • scheduling? E.g. reminders for stuff that expire, like renewing ID papers?

#####Current features:

  • Register, login
  • Manage watched, to watch movies
  • API functions to manage movies
  • Chrome plugin to quick-add movies to lists while browsing IMDb

#####Coming soon eventually:

  • Clean up the website:
  • watched movies should be displayed as a calendar
  • watched movies should have a control to set watched date, rating, add to Cal
  • adding / removing from lists should work
  • fix the flash-messages (Kickstart growls?)
  • auto-post watched movies to Google Cal
  • Create a webapp that works offline on mobile
  • hourly, download the last notifications, display on status bar / icon
  • on launch, display notifications, with response actions
  • if online, store response actions for later processing
  • feeds quick-add button:
  • recent / upcoming
  • movies in "want to watch" list of friends
  • movies highly ranked by friends
  • add friend features
  • from a list of friends, auto-select movies everyone wants to see
  • from a movie, auto-select friends who want to see it as well
  • from no input, auto-suggest friends / movies
  • from no input, auto-suggest potential friends
  • from no input, auto-suggest movies not liked or already seen by friends, for solo viewing
  • Browser plugin:
  • needs to display the lists (tabs?)
  • needs to display notifications e.g. friends requests, movie suggestions
  • add "recommend to a friend" action
  • user admin dashboard (modules?)
  • DB init script (single admin user?)
  • move the services out of index.php and into app/config/services.php or app/bootstrap.php
  • Phalcore base controller: ACL maybe?
  • create an "artisan"-style bin to install / update the vendor dependencies? use composer?
  • If I keep using Kickstart - move it to vendor, symlink in public, keep changes in a versioned file extending it.

#####Folders:

  • app: core app code (models, controllers, views, etc)
  • library: internal libraries
  • vendor: external libraries
  • public: HTTP root
  • data: location for the app to store files, e.g. cache or uploaded files
  • resources: non-web resources, e.g. plugins, documentation

The data/etc folders are the only ones needing write access. TODO: add a .htaccess rule to block any script from running from any writable folder.

#####Notes on APIs: It seems there are numerous APIs available. However, they are all closed. Apparently freely available APIs are quickly overrun, and become non-free. IMDb is unofficial, incomplete and undocumented. OMDb is temporarily unavailable. Rotten Tomatoes requires registration. An option would be to get the data from websites, e.g. IMDb itself, via the plugin. When a user navigates IMDb, the plugin could scrape the visited pages, and store the info. Excessive load could be avoided by having the "status" query include a "last updated" date, so the plugin can run a "update movie" query if required. Let's try without for now. TheMovieDB seems fine, OMDb claims it will be back to free.

#####Requirements:

  • Phalcon
  • Mongo

#####Tested with:

  • Ubuntu 16.04
  • Apache 2.4.18
  • PHP 7.0
  • Phalcon 3.1
  • php-mongodb 1.1.5
  • Phalcon Incubator branch 3.1

cls's People

Contributors

chyro avatar guilhem-metroworks avatar

Watchers

James Cloos avatar  avatar

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.