Working with the code base
===========================
Installing dependencies
-----------------------
To run djaoapp locally, you will need to install 3 types of dependencies
- Javascript dependencies (see package.json)
- Pure Python dependencies (see requirements.txt)
- Python bindings and native libraries (see requirements-native.txt and
`quirks` for debugging version issues)
CSS
---
The css files are built through saasc.
To rebuild the css files run the following make command:
.. code-block:: shell
make build-assets
As it is inconvienient to edit/build/reload every time you make a change,
the ``AssetView`` class is used to detect changes and rebuild
``/static/cache/base.css`` as necessary on page load.
For that you need to make sure ``DEBUG`` is ``True`` and the ``--nostatic``
flag is passed to the runserver command line.
.. code-block:: shell
DEBUG=1 python manage.py runserver --nostatic
So make your .sccs updates and reload the page!
HTML templates
--------------
The website is built as a Multi-Page Application (MPA). As much as possible
the template filenames follow the URL on which the template is used.
For example: you can find the template for ``/profile/{profile}/subscriptions/``
in ``djaoapp/templates/saas/profile/subscriptions.html``.
More details on the content of each page is available in the `default theme documentation `_.
Django reads and re-compiles the template on page load.
So make your .html template updates and reload the page!
Javascript
----------
Because the site is using a Multi-Page Application (MPA) architecture, there
are no complex business logic and/or dependency logic in the Javascript code.
The order of the ``