Go to file
2018-06-03 15:34:04 +02:00
schedule Merge branch 'master' of github.com:bornhack/bornhack-website 2018-05-26 14:42:28 +02:00
scripts Merge teamcomms branch. Refactor team app and add events app. 2018-04-09 23:11:05 +02:00
src working on #232, this commit changes backoffice to be camp specific (although many of the actual functions are camp independent). Add backoffice/mixins.py with BackofficeViewMixin to keep it DRY. Add backoffice views to manage proposals. Move SpeakerProposal and EventProposal detail template to includes to they can be used from backoffice. Rename our commonmark templatetags so the names are more intuitive. 2018-06-03 15:34:04 +02:00
.gitignore Initial work on the schedule written in elm. 2017-08-16 18:26:49 +02:00
.gitmodules readd submodule with the correct branch 2017-04-02 20:21:12 +02:00
LICENSE Add BSD 3-clause LICENSE file 2018-03-04 15:41:07 +01:00
README.md Make contrbutors a list 2018-03-04 15:55:18 +01:00

Bornhack

Django project to power Bornhack. Features include news, villages, webshop, and more.

Setup

Clone the repo

Clone with --recursive to include submodules:

git clone --recursive https://github.com/bornhack/bornhack-website

If you already cloned the repository, you can add the submodules like this:

git submodule update --init --recursive

Virtualenv

Create a Python 3 virtual environment and activate it:

$ virtualenv venv -p python3
$ source venv/bin/activate

System libraries

Install system dependencies (method depends on OS):

  • postgresql headers (for psycopg2):
    • Debian: libpq-dev
    • FreeBSD: databases/postgresql93-client
  • libjpeg (for pdf generation)
    • Debian: libjpeg-dev
    • FreeBSD: graphics/jpeg-turbo
  • wkhtmltopdf (also for pdf generation):
    • Debian: wkhtmltopdf
    • FreeBSD: converters/wkhtmltopdf
  • fonts
    • Debian: ?
    • FreeBSD: x11-fonts/webfonts

Python packages

Install pip packages:

    (venv) $ pip install -r src/requirements.txt

Configuration file

Copy environment settings file and change settings as needed:

    (venv) $ cp src/bornhack/environment_settings.py.dist src/bornhack/environment_settings.py

Edit the configuration file, replacing all the {{ placeholder }} patterns (intended for Ansible).

Database

Is this a new installation? Initialize the database:

    (venv) $ src/manage.py migrate

Is this for local development? Bootstrap the database with dummy data and users:

    (venv) $ src/manage.py bootstrap-devsite

Deploy camps+program test data

Run this command to create a bunch of nice test data:

    (venv) $ src/manage.py bootstrap-devsite

Done

Is this for local development? Start the Django devserver:

    (venv) $ src/manage.py runserver

Otherwise start uwsgi or similar to serve the application.

Enjoy!

Notes

Add a camp

Add a new camp by running:

    (venv) $ src/manage.py createcamp {camp-slug}

Then go to the admin interface to edit the camp details, adding the same slug that you just used and some current dates.

You can also specify details like:

  • A sponsors page, {camp-slug}_sponsors.html, to sponsors/templates.
  • A frontpage, {camp-slug}_camp_detail.html, to camps/templates.
  • A call for speakers page, {camp-slug}_call_for_speakers.html, to program/templates.
  • A static_src/img/{camp-slug}/logo and add two logos:
    • {camp-slug}-logo-large.png
    • {camp-slug}-logo-small.png

Contributors