From c6a7d1c243bc36138f83f34462624c4b01f09f50 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 5 May 2019 20:13:59 +1000 Subject: [PATCH] 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