Overview

Created using django-cookiecutter

Fair amount of tooling

  • fairly TDD driven approach

  • don’t want coverage to drop below 80%

  • uses pre-commit to: reformat python, run python linting, reorder python imports, reformat CSS & JS, and run JavaScript linting

  • gulp does a lot of the task running work

  • npm is the central point for most commands

Styling:

  • Front end has bespoke CSS compiled and minified by Sass.

  • DSR admin system uses unmodified Bootstrap CSS

JS framework: None

  • the project uses vanilla JavaScript where necessary.

  • Scripts are loaded per-page with no common JS file.

User system

  • in live environment uses Auth0 for users, to get a single login for all CC services

  • currently used by Hub, PowerShaper, WordPress, HRP, MHEP and the Wiki

  • can use Auth0 or Django’s built in auth system in local development environment - there are both pros and cons to each.

  • User app wraps whichever auth system is in use so in general the rest of the system doesn’t need to worry about it

  • still needs some work setting up roles and access control

  • custom permissions system, see users/permissions.py for list of those used