ari-pep / PepCoopMembership

a webapp/form for people to join Cultural Commons Collecting Society (C3S) SCE
GNU General Public License v3.0
0 stars 1 forks source link

c3sMembership README

This Pyramid app handles membership for C3S SCE (Cultural Commons Collecting Society SCE mit beschränkter Haftung.

The app that once started as a form to gain new members has grown to a membership administration system catering to the needs of a growing european cooperative (C3S SCE) with around 1000 members as of now.

Some features:

Documentation

There is plenty of documentation under /docs, both in this repository and in the running app (if you have sphinx compile the docs to HTML): ::

cd docs make html

A compiled version of the documentation is available at: https://yes.c3s.cc/docs/

Setup

Install dependencies:

Development: ::

$ sudo apt-get install python-pip python-dev python2.7-dev python-virtualenv libxml2-dev libxslt1-dev build-essential pdftk zlib1g-dev phantomjs

Fonts:

The .odt files for the membership application in pdftk require the font Signika which can be downloaded at: https://www.google.com/fonts/specimen/Signika

LaTeX pdf compilation: ::

$ sudo apt-get install texlive-latex-base texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended texlive-fonts-extra pgf texlive-lang-german texlive-luatex

Setup: ::

$ virtualenv env $ env/bin/python setup.py develop

You might have to update the version of setuptools in your virtual environment to get a recent version, then repeat the step above: ::

mock requires setuptools>=17.1. Aborting installation error: Setup script exited with 1

$ env/bin/pip install -U setuptools

Documentation: ::

$ sudo apt-get install graphviz openjdk-7-jre-headless $ mkdir utils $ wget 'http://downloads.sourceforge.net/project/plantuml/plantuml.jar' -O utils/plantuml.jar $ env/bin/pip install sphinx sphinxcontrib-plantuml

Creating an initial database: ::

$ env/bin/initialize_c3sMembership_db development.ini

Run (in development mode)

::

$ env/bin/pserve development.ini --reload

The app will rebuild templates and reload code whenever there are changes by using --reload.

Migrate database if database model changed (changed models.py?) :: $ cp c3sMembership.db c3sMembership.db.$(date "+%Y-%m-%d_%H-%M-%S") $ env/bin/alembic upgrade head

see https://yes.c3s.cc/docs/development/changes_branches_releases.html#the-production-branch

Run (in production mode, daemon mode)

::

$ pserve production.ini start