Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


These docs are for MacOS but should suffice for most windows users with moderate experience.

  1. Clone repo
  2. Rename /settings/development(dot).py to
    • If you use virtualenvs make one now and activate it.
  3. Install the requirements pip install -r <path_to_the_repo>/
  4. Install jpeg support for PIL brew install libjpeg
  5. Install PostgreSQL brew install postgres
  6. Create and sync a database: python freshdb
    • If you get libssl errors try this blog post
    • If you get postgres errors, make sure postgres is running! Try brew info postgres for help

Environment Vars

Set the following AWS environment variables on virtualenv activate (remember to clear them on deactivate):

AWS Config

export AWS_ACCESS_KEY_ID=<your_s3_access_id>
export AWS_SECRET_ACCESS_KEY=<your_s3_secret_access_key>
export AWS_STORAGE_BUCKET_NAME=<your_s3_bucket_name>

Development Env Super User

export SUPERUSER_NAME = <your_development_name>
export SUPERUSER_EMAIL = <your_development_email>
export SUPERUSER_PASSWORD = <your_development_password>

Postmark Email Service

export POSTMARK_API_KEY = <your_postmark_api_key>
export POSTMARK_SENDER = <your_postmark_sender_signature>


JavaScript Unit

This project runs Jasmine 2.0.0.

Simply open the spec runner tests/SpecRunner.html


The goal of this web app is to make online proofing galleries dead simple for both the photographer and client. It will allow clients to select images from their photo shoots which they would like the photographer to further process.

Photographer should be able to:

  • Create price proofing galleries with

    • a name
    • a passcode
    • a number of images the client can choose to have processed
    • unlimited number of images
  • Edit proofing galleries

    • Name, passcode, and number of selectable images
    • Add and delete images from the gallery
  • Delete the entire gallery

  • Drag and drop images from their desktop to the gallery add/edit form

Client should be able to:

  • Access a client access page with:

    • a passcode field
    • a "Go to gallery" button
  • Enter a valid access code, click go to gallery and be taken directly to their private gallery created by the photographer

  • Inside the Gallery

    • Click/Tap to choose images for further processing by the photographer
    • See which images they have selected
    • See the total number of images they can select
    • See how many images they have remaining to select


Photographer's client proofing gallery






No releases published


No packages published