simpleshelf: track your books
simpleshelf stores your personal library of books to read, have read, want to read, and lets you track your progress.
simpleshelf is deliberately designed for simplicity: it tracks enough information for you to identify a book, and to get more information from other sources. The (envisioned) links to OpenLibrary, the Library of Congress, and others will provide more detailed information.
Tools, libraries, plugins
How to install
Install gulp globally.
Install node dependencies:
Build the web app:
# Choose the appropriate NODE_ENV - you can customize & extend the configurations. NODE_ENV=dev gulp buildForDocker # to continuously build after changes NODE_ENV=dev gulp appWatch ddocWatch
See the development section in Installation
Presently there is no pre-built image; you will have to install as a developer.
Follow the Development steps above, through the
Build the web app:
# Choose the appropriate NODE_ENV - you can customize & extend the configurations. NODE_ENV=production gulp buildForDocker
In the target directory, pass the initial CouchDB admin name & password to
couchdb_init.sh, and run it.
Run the app: see the production section in Installation
ONE-TIME To seed CouchDB's initial databases:
# NOTE: the containers MUST be running, and you MUST be able to access them. # CDB_USER, CDB_PW: user and password for the standard user in this database; it is acceptable to use the admin user's credentials. # The two "node" values are intentional (the first references the node container, the second runs the node executable). # It is safe to run multiple times; a flag will be set once it successfully runs. sudo DOCKER_ACCT=A docker-compose -f docker-compose.yml -f docker-compose-production.yml exec \ --env CDB_USER=Y --env CDB_PW=Z node node runsetup.js
Restart the server if the seed was necessary.
Available configuration values are:
- Port to expose
- Volumes to customize
How to test
gulp testInBrowser: runs the BrowserSync runner, launching (or updating) the test page, typically at http://localhost:3000/index.html.
gulp testWatch: run the console and browser tests, reloading both when any code changes.