/wikinotes

A free and open source resource for the courses at McGill University.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

WikiNotes logo

WikiNotes is a wiki-based note-sharing platform created to facilitate student collaboration. Although it is being created primarily to replace our old MediaWiki-backed website for McGill students, we are releasing the code under the GPLv3 so that non-McGill students (or anyone, really) can benefit from it as well. Although this platform is still under development, we are now using it to power our main website at www.wikinotes.ca.

Want to find out more about us? Visit our about page, join our IRC channel (#wikinotes on freenode) or drop us a line at admin@wikinotes.ca.

Contributing

We'd love to have you contribute, whether it be through adding features, filing bug reports, writing tests or whatever takes your fancy. Contributing code is easy - just fork this repository, make your changes, and send us a pull request. To see what needs to be done, check out the list of outstanding issues. If you notice something else that needs to be done, feel free to open an issue for it.

See also our development wiki for things like what style conventions we use, development notes, and how the code is organised.

We're using Travis for continuous integration and Django's unit-testing framework for the tests. Current build status of the master branch:

Build status

Dependencies

To run it on your local machine, you'll need Python 2.7+, and Git. You'll also need a bunch of Python modules, which can be installed with pip:

pip install -r requirements.txt

If you don't have pip, either install it using your system's package manager or make use of virtualenv (which is a good idea in any case).

Configuration

If you're running it for the first time, take note of the following setup instructions:

  • Run ./bootstrap: create the superuser at this point (you may also wish to run this if any database schema changes have been made since your last pull)
  • Run python manage.py runserver or fab up if you have Fabric installed. By default, this makes the platform accessible at http://localhost:8000; add 0.0.0.0:8000 as an argument if you want to make it publicly accessible through your IP address (at port 8000), or run fab broadcast.
  • To run the unit tests, run python manage.py test wiki or fab test.