Go to file
2019-05-05 11:53:50 +10:00
docs Remove absolute URL encoding 2019-04-28 08:11:29 +10:00
images/logo Update logo colours 2019-04-18 09:16:16 +10:00
InvenTree Add icon to navbar dropdown 2019-05-05 11:51:35 +10:00
wip Reorganize script locations 2019-04-17 19:03:28 +10:00
.coveragerc Ignore some files for coverage report 2019-04-25 18:54:36 +10:00
.gitattributes Added gitattributes file 2017-03-29 23:45:27 +11:00
.gitignore Force TOC to appear in sidebar for each page 2019-04-28 00:03:19 +10:00
.readthedocs.yml Update the .readthedocs.yml file 2019-04-27 17:57:00 +10:00
.travis.yml Remoe error for now, just list untracked files 2019-05-02 01:02:29 +10:00
LICENSE Initial commit 2017-03-23 12:44:10 +11:00
Makefile Update makefile 2019-04-28 08:42:17 +10:00
README.md Update README.md 2019-04-28 21:28:08 +10:00
requirements.txt Add django-dbbackup app 2019-05-04 01:00:58 +10:00
roadmap.md Update roadmap.md 2017-04-02 23:46:00 +10:00
setup.cfg Exclude migration files from PEP 2019-05-02 17:44:01 +10:00

License: MIT Build Status Documentation Status Coverage Status

InvenTree

InvenTree is an open-source Inventory Management System which provides powerful low-level stock control and part tracking. The core of the InvenTree system is a Python/Django database backend which provides an admin interface (web-based) and a JSON API for interaction with external interfaces and applications.

InvenTree is designed to be lightweight and easy to use for SME or hobbyist applications, where many existing stock management solutions are bloated and cumbersome to use. Updating stock is a single-action procses and does not require a complex system of work orders or stock transactions.

However, complex business logic works in the background to ensure that stock tracking history is maintained, and users have ready access to stock level information.

User Documentation

TODO: User documentation will be provided on a linked .github.io site, and will document the various InvenTree functionality

Code Documentation

For project code documentation, refer to the online documentation (auto-generated)

Getting Started

It is recommended to set up a clean Python 3.4+ virtual environment first: mkdir ~/.env && python3 -m venv ~/.env/InvenTree && source ~/.env/InvenTree/bin/activate

A makefile is provided for project configuration:

Install

Run make install to ensure that all required pip packages are installed (see requirements.txt). This step will also generate a SECRET_KEY.txt file (unless one already exists) for Django authentication.

Migrate

Run make migrate to perform all pending database migrations to ensure the database schema is up to date.

Note: Run this step once after make install to create the initial empty database.

Superuser

Run make superuser to create an admin account for the database

Launch Development Server

Run python InvenTree/manage.py runserver to launch a (development / debug) server. InvenTree can be then accessed via a web browser at http://127.0.0.1:8000

Test

Run make test to run all code tests

Style

Run make style to check the codebase against PEP coding standards (uses Flake)

Contributing

Testing

Any new functionality should be submitted with matching test cases (using the Django testing framework). Tests should at bare minimum ensure that any new Python code is covered by the integrated coverage testing. Tests can be run using make test.

Coding Style

All Python code should conform to the PEP 8 style guide. Run make style which will compare all source (.py) files against the PEP 8 style.