From bf76a6024ebf4783f64e0d8387549dac98d11e63 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 28 Apr 2019 08:39:41 +1000 Subject: [PATCH] Update README.md Much improve so better --- README.md | 55 +++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 43 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 44e35d7c59..5365a85c07 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,54 @@ # 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. -## Installation +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](http://inventree.readthedocs.io/en/latest/) (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` -You can then continue running `make setup` (which will be replaced by a proper setup.py soon). This will do the following: +A makefile is provided for project configuration: -1. Installs required Python dependencies (requires [pip](https://pypi.python.org/pypi/pip), should be part of your virtual environment by default) -1. Performs initial database setup -1. Updates database tables for all InvenTree components +### Install -This command can also be used to update the installation if changes have been made to the database configuration. +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. -To create an initial user account, run the command `make superuser`. +### Migrate -## Documentation -For project code documentation, refer to the online [documentation](http://inventree.readthedocs.io/en/latest/) (auto-generated) +Run `make migrate` to perform all pending database migrations to ensure the database schema is up to date. -## Coding Style -If you'd like to contribute, install our development dependencies using `make develop`. -All Python code should conform to the [PEP 8](https://www.python.org/dev/peps/pep-0008/) style guide. Run `make style` which will compare all source (.py) files against the PEP 8 style. Tests can be run using `make test`. +**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 + +### 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](https://www.python.org/dev/peps/pep-0008/) style guide. Run `make style` which will compare all source (.py) files against the PEP 8 style.