Gallery for Popcorn js
Switch branches/tags
Nothing to show
Pull request Compare This branch is 72 commits behind alfredo:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
butter @ 93e3e64
vendor @ e22c580

Popcorn Gallery

Django app to power the Popcorn Maker!

The Project structure is based on Mozilla Playdoh

Getting the source code

Clone the repository and its dependencies:

git clone --recursive

This will take a few minutes.

Setup the application

The recommended setup is using vagrant and virtual box, you can get them from:

This will keep the code living in your filesystem but the application running inside a VM.

Once you've installed vagrant, from the root of the repository copy the local vagrant settings.

cp vagrantconfig_local.yaml-dist vagrantconfig_local.yaml

Edit vagrantconfig_local.yaml if you want to change any of the defaults.

If you are on an NFS capable OS I recommend that you change nfs to true.

VirtualBox has know issues sharing files natively, more about this:

Now we are ready to provision the machine run.

vagrant up

This will take a few minutes, so go on and reward yourself with a nice cup of tea!

Update the local settings file

From the root of the repository copy the local python settings.

cp popcorn_gallery/settings/ popcorn_gallery/settings/

Amend popcorn_gallery/settings/ adding your details:

  • ADMINS: Add an email address and a name.
  • SECRET_KEY: This can be anything.
  • HMAC_KEYS: Uncomment or add your own key inside it.

Updating the application

The application is under heavy development, and when you update there could be a few database or asset changes.

There is an script is provided to make sure it is keep in sync

SSH into the VM:

vagrant ssh

Run the update script

fab update

This will syncronize the database, run any database schema or data migrations, and compile the assets from Butter.

Add a host alias

This is done so you can access the application via: and perform the browserid assertion.

If you are on OSX or *NIX add an alias for the site by running the following command in your local machine:

echo "" | sudo tee -a /etc/hosts

Or if you prefer a GUI try

Now the application should be available at:

Runing the test suite

SSH into the virtualbox:

vagrant ssh

And run the test suite:

fab test

Updating the development server

The development server can be updated from time to time, and it is done via Puppet

Update the server by running in your local machine from the root of the project:

vagrant provision

Speed up the server

At the moment the wsgi application is served via apache, which it's a bit hacky in order to pick up the file changes and reload automaticaly.

If you want to speed up the application you could try stop apache and run the application via the development server.

NGINX is proxy-passing the port 8000 to 80 and serving most of the static files.

SSH into the virtual box:

vagrant ssh

Stop apache:

sudo /etc/init.d/apache2 stop

Run the development server

python runserver

Creating a superuser

From inside the VM run:

python createsuperuser