Right now django-knowledge is still under heavy development. We’re approaching the full development of this product in the manner described below.
Documentation first!
This is vitally important as we pusposefully want to create something that is a best in class application. We want django-knowledge be the premier help desk for django.
Tests next!
Again, we want people to trust this application, so tests are an absolute must. TDD is the name of the game here. 100% coverage is the goal.
Code final!
And let’s make it good code as well. pep8 and all that jazz!
Please join us in making django-knowledge the best open source help desk in the world!
We’re using Sphinx, so make sure you have pip install sphinx, browse on into the docs folder and run make html:
cd docs
make html
Inside docs/_build should be the rendered html. Open up docs/_build/html/index.html in your browser to take a looksy.
Editing the files is equally simple, just adhere to the reStructuredText format. I recommend using something like watch while doing documentation to auto build everything while you work:
cd docs
watch make html
Inside the tests directory is a bash script that runs a localized Django project that tests our application in a project context. A quick command should suffice for most basic needs:
tests/runtests.sh
Right now we’re not bundling tests inside the installed package, they are part of their own example application. All tests are found in tests/example/tests/ under split out files reflecting their location in the package.
View the coverage stats by opening up the resulting tests/reports/index.html.
Setting up the development server is quite easy as well:
pip install -r requirements.txt
tests/syncdb.sh
tests/runserver.sh
We do use SASS (and you should too!), so you will need to follow their install docs and then run something like:
sass --watch knowledge/static/knowledge/scss:knowledge/static/knowledge/css
Please remember to run pep8 and fix any errors you see, or explan why you won’t in your commit message so we can yell at you:
pep8 knowledge
We work off of the master branch in our GitHub repo. Send a pull request! Tagged releases will be pushed to PyPi.