Welcome to django-billjobs’s documentation!

Travis Build Status Documentation Status

A django billing app for coworking space

What is django-billjobs ?

Django-billjobs is a django app to manage coworkers and create their invoices. It uses Django admin site to manage coworkers account, services the space is providing and manage coworkers invoices.

From version v1.x Django-billjobs provides an API to let coworking spaces develop their own online services for their coworkers based on unique account.

Features

Account and Profile :
from Django admin site you can create, update, delete coworkers account and their profile. As Django-billjobs is using Django authentication system you can also use groups.
Services :
A service can be access to the coworking space for a month, a day, or whatever you want. It is just something with a name, a description and a unit price. We keep it simple, really !
Billing :
You affect one or more services to one account. It creates an invoice and you can download a pdf of it.

Note

No tax management. This project is coming from non-profit organisation in France. We do not need to manage VAT for services.

Quickstart

pip install django-billjobs

in your django settings file:

INSTALLED_APPS = (
  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'rest_framework',
  'billjobs',
)
django-admin migrate
django-admin createsuperuser
django-admin runserver

Getting Started

Contributing

Clone repository

git clone https://github.com/ioO/billjobs.git

Create a virtualenv with python 3 binary

Billjobs works from python 3.4 to 3.6.

Read virtualenv documentation

mkvirtualenv django-billjobs --python=/path/to/python3.5
add2virtualenv path/to/django-billjobs

Install dependencies

pip install -r requirements.txt

Sample settings

The core/ folder contains sample settings for development. Use DJANGO_SETTINGS_MODULE environment variables.

In your virtualenv bin/postactivate

export DJANGO_SETTINGS_MODULE=core.settings

In your virtualenv bin/postdeactivate

unset DJANGO_SETTINGS_MODULE

Database

Development use sqlite3 engine.

django-admin migrate

Git workflow

Create a feature branch when you develop a new feature, a hotfix and at the end rebase it with master branch.

git checkout -b new_feature
# do your commits
git checkout master
git pull
git checkout new_feature
git rebase master
git checkout master
git merge --no-ff new_feature

Fixtures

You can use development fixtures

django-admin loaddata billjobs/fixtures/dev_*

If you setup a super user it will be deleted by fixtures data.

  • Login : bill
  • Password : jobs

Indices and tables