Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kapsiry/sikteeri

Membership management system (Django)
https://github.com/kapsiry/sikteeri

Last synced: about 1 month ago
JSON representation

Membership management system (Django)

Awesome Lists containing this project

README

        


Coverage via Codecov


Test results at Travis CI

REQUIREMENTS
============

The following software is required to install Sikteeri.

* Python 2.7
* gettext
* openldap and sasl dev for LDAP support

For production, additionally:
* PostgreSQL

# HOW TO RUN

## Create virtualenv environment
./install-virtualenv.sh

OR you may create and activate virtualenv from requirements.txt manually.

## Activate virtualenv
source env/bin/activate

## Initialize development database
./manage.py migrate && \
./manage.py createsuperuser && \
./manage.py loaddata membership/fixtures/membership_fees.json && \
./manage.py generate_test_data

## Use development settings
export SIKTEERI_CONFIGURATION=dev

## Compile translations and run development server
./run-sikteeri.sh

## Access the development server at
http://127.0.0.1:8000/

## Log in at
http://127.0.0.1:8000/login/

## Run unit tests (always before committing changes)
./manage.py test

### OR with py.test:
pip install pytest pytest-cov pytest-django
./test.sh

## Settings
If you want to override settings, create a local settings
file which has "import * from sikteeri.settings" and set:

export DJANGO_SETTINGS_MODULE=sikteeri.my_settings

The default settings.py must be the default development
configuration and work out of the box for quick development.
Production settings (email subjects, bank account numbers
etc.) are configured as JSON file.

Docker
======

To make development easier there exists a `Dockerfile` to use as a development container.

To build a new version:

`docker build -t sikteeri .`

To run it:

`docker run -ditp 8080:8080 --name sikteeri sikteeri`

To run it with bash as initial command:

`docker run -itp 8080:8080 --name sikteeri sikteeri /bin/bash`

To attach to Django std feed:

`docker attach sikteeri`

To attach a shell to a running instance:

`docker exec -it sikteeri /bin/bash`