close
Skip to content

djack2485/atodo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

a todo list management web application where:
 * I can have my todo list displayed.
 * I can manipulate my list (add/remove/modify entries).
   * add
   * remove
   * modify
 * Assign priorities and due dates to the entries.
   * priorities
   * due dates
 * I can sort my entry list using due date and priority.
   * priorities
   * due dates
 - I can mark an entry as completed.
 * Minimal UI/UX design is needed.
 * I need every client operation done using JavaScript, reloading the page
   is not an option.
 * Write a RESTful API which will allow a third-party application to
   trigger actions on your app (same actions available on the webpage).
 - You need to be able to pass credentials to both the webpage and the API.
   - OAuth1a for API
   * User login/out Flask sessions.
 * As complementary to the last item, one should be able to create users in
   the system via an interface, probably a signup/register screen.
   * OpenID (tested with my Google Account, YMMV.)


Additional:
  - log file rotation..
  - the test for "in_production" in settings.py should be more robust..
  - arrange to NOT serve static assets in "production"..
    TODO: CDN for JS
  - Arrange for a REAL (not SQLite) db in "production"..

  For "production" there should be a file INSTALL_DIR/sekrit that contains
  a single line with the app "secret" in it.  There is a better way to do
  this.

  If running not in production and there's no connection available
  (because your neighbors watch videos all night on the shared wifi) you
  can set an env var NO_CONN to any non-empty string to bypass OpenID
  login.  You'll be automatically logged in (as the 'Simon Forman' user)
  by visiting the '/login' URL.

  Pycrypto is a dependency of Flask-OAuthlib that has to be gotten
  separately (from the basket deps.)

  Using Basket:

    Set an environment variable to point to the dependencies dir.
    $ export BASKET_ROOT=<Install-directory>/dependencies

    Then you can use Pip to install the dependecies from that dir.
    $ pip install --no-index -f file://$BASKET_ROOT <package>

    It is recommended to use virtualenv. The .gitignore has a pattern for
    <Install-directory>/venv

About

A simple to-do web app to show off techniques and stuff.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors