From c6a7d1c243bc36138f83f34462624c4b01f09f50 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 5 May 2019 20:13:59 +1000 Subject: [PATCH 1/2] Added a bunch of developer documentation --- docs/_static/img/api_doc.png | Bin 0 -> 74918 bytes docs/_static/img/api_http.png | Bin 0 -> 48525 bytes docs/_static/img/modal_form.png | Bin 0 -> 66932 bytes docs/backup.rst | 12 +++++++ docs/forms.rst | 57 ++++++++++++++++++++++++++++++++ docs/index.rst | 39 ++++++++++++++++++---- docs/introduction.rst | 28 ---------------- docs/modules.rst | 22 ++++++++++++ docs/reference.rst | 9 ++++- docs/rest.rst | 37 +++++++++++++++++++++ docs/start.rst | 51 ++++++++++++++++++++++++++++ docs/tables.rst | 14 ++++++++ 12 files changed, 234 insertions(+), 35 deletions(-) create mode 100644 docs/_static/img/api_doc.png create mode 100644 docs/_static/img/api_http.png create mode 100644 docs/_static/img/modal_form.png create mode 100644 docs/backup.rst create mode 100644 docs/forms.rst delete mode 100644 docs/introduction.rst create mode 100644 docs/modules.rst create mode 100644 docs/rest.rst create mode 100644 docs/start.rst create mode 100644 docs/tables.rst diff --git a/docs/_static/img/api_doc.png b/docs/_static/img/api_doc.png new file mode 100644 index 0000000000000000000000000000000000000000..1466eb7b54a713d09220dcecda5990d5ff068dcc GIT binary patch literal 74918 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
    wPu- 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 SWdKTjO7(%3Qt^F@m;Voe*dUSs literal 0 HcmV?d00001 diff --git a/docs/_static/img/api_http.png b/docs/_static/img/api_http.png new file mode 100644 index 0000000000000000000000000000000000000000..59f7dfa112315da7bc1f66b0f19cab48c91925c3 GIT binary patch literal 48525 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%0A^e=C(TIvdQo;+N%So8WM;2UbD!;8xw>WQjrr-D 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 literal 0 HcmV?d00001 diff --git a/docs/backup.rst b/docs/backup.rst new file mode 100644 index 0000000000..6e36a65a1a --- /dev/null +++ b/docs/backup.rst @@ -0,0 +1,12 @@ +Backup and Restore +================== + +.. toctree:: + :titlesonly: + :maxdepth: 2 + :caption: Backup + :hidden: + +InvenTree provides database backup and restore functionality through the `django-dbbackup `_ extension. + +This extension allows databas models and uploaded media files to be backed up (and restored) via the command line. \ No newline at end of file diff --git a/docs/forms.rst b/docs/forms.rst new file mode 100644 index 0000000000..a30253d51d --- /dev/null +++ b/docs/forms.rst @@ -0,0 +1,57 @@ +InvenTree Modal Forms +===================== + +.. toctree:: + :titlesonly: + :maxdepth: 1 + :caption: Modal Forms + :hidden: + + +The InvenTree web interface uses modal forms for user input. InvenTree defines a wrapper layer around the Django form classes to provide a mechanism for retrieving and rendering forms via jQuery and AJAX. + +.. image:: _static/img/modal_form.png + +Forms are rendered to a Bootstrap modal window, allowing in-page data input and live page updating. + +Crispy Forms +------------ + +Django provides native form rendering tools which are very powerful, allowing form rendering, input validation, and display of error messages for each field. + +InvenTree makes use of the `django-crispy-forms `_ extension to reduce the amount of boilerplate required to convert a Django model to a HTML form. + +Form Rendering +-------------- + +The InvenTree front-end web interface is implemented using jQuery and Bootstrap. Forms are rendered using Django `class-based forms `_ using standard Django methods. + +The main point of difference is that instead of rendering a HTTP response (and displaying a static form page) form data are requested via AJAX, and the form contents are injected into the modal window. + +A set of javascript/jQuery functions handle the client/server interactions, and manage GET and POST requests. + +Sequence of Events +------------------ + +#. User presses a button or other element which initiates form loading +#. jQuery function sends AJAX GET request to InvenTree server, requesting form at a specified URL +#. Django renders form (according to specific model/view rules) +#. Django returns rendered form as a JSON object +#. Client displays the modal window and injects the form contents into the modal +#. User fills in form data, presses the 'Submit' button +#. Client sends the completed form to server via POST +#. Django backend handles POST request, specifically determines if the form is valid +#. Return a JSON object containing status of form validity + * If the form is valid, return (at minimum) {form_valid: true}. Client will close the modal. + * If the form is invalid, re-render the form and send back to the client. Process repeats + +At the end of this process (i.e. after successful processing of the form) the client closes the modal and runs any optional post-processes (depending on the implementation). + +Further Reading +--------------- + +For a better understanding of the modal form architecture, refer to the relevant source files: + +**Server Side:** Refer to ``./InvenTree/InvenTree/views.py`` for AJAXified Django Views + +**Client Side:** Refer to ``./InvenTree/static/script/inventree/modals.js`` for client-side javascript diff --git a/docs/index.rst b/docs/index.rst index 47c0b88b5e..34ebc992b0 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,12 +1,39 @@ -InvenTree's Django Documentation +InvenTree Source Documentation ================================ -This documentation is auto-generated from the `InvenTree codebase `_ - .. toctree:: :titlesonly: :maxdepth: 2 - :caption: Contents: + :caption: Index + :hidden: - InvenTree Modules - API Reference \ No newline at end of file + Getting Started + Modal Forms + Tables + REST API + Backup and Restore + InvenTree Modules + Module Reference + +The documentation found here is provided to be useful for developers working on the InvenTree codebase. User documentation can be found on the `InvenTree website `_. + +Documentation for the Python modules is auto-generated from the `InvenTree codebase `_. + +Code Structure +-------------- + +**Backend** + +InvenTree is developed using the `django web framework `_, a powerful toolkit for making web applications in Python. + +The database management code and business logic is written in Python 3. Core functionality is separated into individual modules (or *apps* using the django nomenclature). + +Each *app* is located in a separate directory under InvenTree. Each *app* contains python modules named according to the standard django configuration. + +**Frontend** + +The web frontend rendered using a mixture of technologies. + +Base HTML code is rendered using the `django templating language `_ which provides low-level access to the underlying database models. + +jQuery is also used to implement front-end logic, and desponse to user input. A REST API is provided to facilitate client-server communication. \ No newline at end of file diff --git a/docs/introduction.rst b/docs/introduction.rst deleted file mode 100644 index f33917212a..0000000000 --- a/docs/introduction.rst +++ /dev/null @@ -1,28 +0,0 @@ -InvenTree -========= - -InvenTree is an open source inventory management system which provides powerful low-level part management and stock tracking functionality. - -The core of the InvenTree software is a Python/Django database backend whi - - -**Django Apps** - -The InvenTree Django ecosystem provides the following 'apps' for core functionality: - -.. toctree:: - :titlesonly: - :maxdepth: 1 - :caption: App Modules: - - docs/InvenTree/index - docs/build/index - docs/company/index - docs/part/index - docs/stock/index - -* `InvenTree `_ - High level management functions -* `Build `_ - Part build projects -* `Company `_ - Company management (suppliers / customers) -* `Part `_ - Part management -* `Stock `_ - Stock management \ No newline at end of file diff --git a/docs/modules.rst b/docs/modules.rst new file mode 100644 index 0000000000..183e49bfe4 --- /dev/null +++ b/docs/modules.rst @@ -0,0 +1,22 @@ +InvenTree Modules +================= + +.. toctree:: + :titlesonly: + :maxdepth: 2 + :caption: App Modules + :hidden: + + docs/InvenTree/index + docs/build/index + docs/company/index + docs/part/index + docs/stock/index + +The InvenTree Django ecosystem provides the following 'apps' for core functionality: + +* `InvenTree `_ - High level management functions +* `Build `_ - Part build projects +* `Company `_ - Company management (suppliers / customers) +* `Part `_ - Part management +* `Stock `_ - Stock management \ No newline at end of file diff --git a/docs/reference.rst b/docs/reference.rst index de81c25e26..bbf9958fcb 100644 --- a/docs/reference.rst +++ b/docs/reference.rst @@ -1,6 +1,13 @@ -API Reference Index +Module Reference =================== +.. toctree:: + :titlesonly: + :maxdepth: 1 + :caption: Module Reference + :hidden: + + The complete reference indexes are found below: * :ref:`modindex` diff --git a/docs/rest.rst b/docs/rest.rst new file mode 100644 index 0000000000..73dd8d0e87 --- /dev/null +++ b/docs/rest.rst @@ -0,0 +1,37 @@ +REST API +======== + +.. toctree:: + :titlesonly: + :maxdepth: 2 + :caption: REST API + :hidden: + +InvenTree provides a REST API which serves data to the web client and also provides data access to third-party applications. The REST API is implemented using the `Django REST framework (DRF) `_ which provides the following features out of the box: + +* AJAX REST API +* Web-browseable REST +* User authentication +* Database model serialization and validation + +API Access +---------- + +The API is accessible from the root URL ``/api/``. It requires user authentication. + +* Requesting data via AJAX query will return regular JSON objects. +* Directing a browser to the API endpoints provides a web-browsable interface + +.. image:: _static/img/api_http.png + +API Documentation +----------------- + +API documentation is provided by DRF autodoc tools, and is available for browsing at ``/api-doc/`` + +.. image:: _static/img/api_doc.png + +API Code +-------- + +Javascript/jQuery code for interacting with the server via the REST API can be found under ``InvenTree/static/script/InvenTree``. diff --git a/docs/start.rst b/docs/start.rst new file mode 100644 index 0000000000..5bc50d0f88 --- /dev/null +++ b/docs/start.rst @@ -0,0 +1,51 @@ +Getting Started Guide +===================== + +.. toctree:: + :titlesonly: + :maxdepth: 2 + :caption: Getting Started + :hidden: + +To install a complete development environment for InvenTree, follow the steps presented below. + +A makefile in the root directory provides shortcuts for the installation process, and can also be very useful during development. + +Installation +------------ + +All packages required to develop and test InvenTree can be installed via pip package manager. Package requirements can be found in ``requirements.txt``. + +To setup the InvenTree environment, run the command + +``make install`` + +which performs the following actions: + +* Installs all required Python packages using pip package manager +* Generates a SECREY_KEY file required for the django authentication framework + +Superuser Account +----------------- + +Run ``make supeuser`` to create a superuser account, required for initial system login. + +Run Development Server +---------------------- + +Run ``python InvenTree/manage.py runserver`` to launch a development server. This will launch the InvenTree web interface at ``127.0.0.1:8000``. For other options refer to the `django docs `_. + +Database Migrations +------------------- + +Whenever a change is made to the underlying database schema, database migrations must be performed. Call ``make migrate`` to run any outstanding database migrations. + +Development and Testing +----------------------- + +Other shorthand functions are provided for the development and testing process: + +* ``make test`` - Run all unit tests +* ``make coverage`` - Run all unit tests and generate code coverage report +* ``make style`` - Check Python codebase against PEP coding standards (using Flake) +* ``make documentation`` - Generate this documentation \ No newline at end of file diff --git a/docs/tables.rst b/docs/tables.rst new file mode 100644 index 0000000000..58f6aefb48 --- /dev/null +++ b/docs/tables.rst @@ -0,0 +1,14 @@ +Table Management +================ + +.. toctree:: + :titlesonly: + :maxdepth: 2 + :caption: Tables + :hidden: + +InvenTree uses `Bootstrap Table `_ to manage tabulated data in the web front-end. The ability to tabulate data from read via an AJAX request allows tables to be updated on-the-fly (without a full page reload). + +Bootstrap Table also provides integrated tools for table searching, filtering, and advanced rendering. + +Frontend code for table functionality can be found at ``InvenTree/static/script/inventree/tables.js``. \ No newline at end of file From 5a9fc399ac322a5bf0dd12ac6595c141eeca7a3e Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 5 May 2019 20:21:45 +1000 Subject: [PATCH 2/2] Update README.md --- README.md | 42 +----------------------------------------- 1 file changed, 1 insertion(+), 41 deletions(-) diff --git a/README.md b/README.md index 0801c08e97..502701623e 100644 --- a/README.md +++ b/README.md @@ -15,46 +15,6 @@ However, complex business logic works in the background to ensure that stock tra 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` - -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](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. +Refer to the [getting started guide](https://inventree.readthedocs.io/en/latest/start.html) for installation and setup instructions.