An invoice management system built with Django

Invoice Management System

Getting Started

This section describes how to set up an environment to run and test the project.


Using Python virtualenv


  • You have a working installation of Python 2.7.*
  • You can install software on your system.
  • You can create and activate Python virtual environments. Create a Python virtual environment somewhere on your system and activate it. Your shell prompt should look something like this:
(env)[username@computer pwd]$

Clone this repository into the directory of your choice like so:

$ git clone

cd into the project root directory and install the needed requirements.
NB: Ensure that your virtual environment is activated.

$ cd Invoice-Management-System/
$ pip install -r requirements.txt

You will need to set the following environment variables. Open your .bashrc file

$ vim ~/.bashrc

and add the following

export SECRET_KEY='{secure secret key}'
export NAME='{database name}'
export USER='{user}'
export PASSWORD='{user password}'
export HOST='{database host ip}'
export PORT='{database port}'

Setup the database by running the following.

$ python migrate


When all is okay, you can start the local development server.

$ python runserver

Visit localhost:8000 in your browser.

Using Docker

You can build and run the app using Docker containers. This requires minimal setup.


Make sure you have Docker a Docker-compose installed. Follow the URLs below to install for the appropriate system.

Installing docker-compose
Installing docker

After installation you can verify that it is installed by running

$ sudo docker version

It should display something like this if successful:

 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a
 Built:             Tue Aug 21 17:25:13 2018
 OS/Arch:           linux/amd64
 Experimental:      false

  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       e68fc7a
  Built:            Tue Aug 21 17:27:37 2018
  OS/Arch:          linux/amd64
  Experimental:     false

Now clone the repository and cd into deploy directory inside the root of the project.

$ cd Invoice-Management-System

Now run to build and start running the containers.

$ docker-compose build --no-cache
$ docker-compose up --no-start --force-recreate
$ docker-compose start

Then visit in your browser.
Supervisor will be running on If prompted for username and password, use the following:

username: mpedigree
password: mpedigree



Run the commands below to test the project and view the coverage.

$ coverage run --source='.' test
$ coverage report -m

To exclude the virtualenv folder do the following:

$ coverage run --omit ve  --source="."  test

In the above example “ve” is the name of the virtualenv.

Download Details:

Author: Williano


#django #python

An invoice management system built with Django
65.25 GEEK