Spirit is a modern Python based forum built on top of Django framework
Go to file
2014-11-29 21:08:08 +01:00
example dev settings 2014-11-27 20:14:50 -03:00
spirit Fix F841 errors of unused local variables 2014-11-29 21:08:08 +01:00
tests Fix F841 errors of unused local variables 2014-11-29 21:08:08 +01:00
.editorconfig Check pep8 with travis 2014-11-17 15:03:39 +01:00
.gitattributes gitattributes LF 2014-11-17 21:26:41 -03:00
.gitignore Separate example and tests 2014-11-25 14:24:50 +01:00
.travis.yml Use setup.cfg file for flake8 2014-11-29 20:02:57 +01:00
LICENSE Initial commit 2014-05-09 18:34:48 -03:00
MANIFEST.in broken setup #4 2014-05-18 20:37:30 -03:00
README.md example refactored 2014-11-27 18:34:30 -03:00
requirements.txt clean up 2014-11-16 19:39:38 -03:00
runtests.py example refactored 2014-11-27 18:34:30 -03:00
setup.cfg Fix F841 errors of unused local variables 2014-11-29 21:08:08 +01:00
setup.py renamed run_tests to runtests 2014-11-20 19:43:38 -03:00
TODO move comments 2014-08-01 14:47:10 -03:00

Spirit Build Status Coverage Status

Spirit is a Python based forum built using the Django framework.

To see it in action, please visit The Spirit Project.

Requirements

Spirit requires the following software to be installed:

  • Python 2.7, 3.3 or 3.4 (recommended)
  • Django 1.7
  • PostgreSQL or MySQL or Oracle Database

Dependencies

Check out the requirements provided.

Integration

Spirit can be integrated with any other Django application without much of a hassle.

The only thing to notice is that Spirit uses its own AUTH_USER_MODEL.

If you want to roll your own user app, your user model must inherit from spirit.models.user.AbstractForumUser.

If you want to extend the Spirit user model (adding new fields or methods), your model must inherit from spirit.models.user.AbstractUser.

If you just want to integrate Spirit's user profile to your existing project and you are using the default Django's user model, check out the Spirit-User-Profile app.

Installing (Advanced)

Check out the example provided.

In short:

Add url(r'^', include('spirit.urls')), to your urls.py

Add from spirit.settings import * to the top of your settings.py file, otherwise you will have to setup all django's related constants (Installed_apps, Middlewares, Login_url, etc)

Run:

pip install -r requirements.txt
python manage.py migrate
python manage.py createcachetable spirit_cache
python manage.py collectstatic

Note:

You will need to setup a search engine, Spirit is configured to work with Woosh by default.

An email server is required, you can host your own (ie: exim), or hire an external service provider (ie: Mandrill).

Start a development server:

python manage.py runserver

Visit (http://127.0.0.1:8000/)

Note: On production, you would rather run Spirit on a real web server. ie: gunicorn + Nginx. Running Spirit on a virtualenv is adviced.

Updating

Run:

pip install -r requirements.txt
python manage.py migrate
python manage.py collectstatic
python manage.py rebuild_index --noinput

Contributing

Feel free to check out the source code and submit pull requests.

You may also report any bug or propose new features in the issues tracker

Testing

The runtests.py script enable you to run the test suite of spirit.

  • Type ./runtests.py to run the test suite using the settings from the tests folder.
  • Type ./runtests.py example to run the test suite using the settings from the example folder.

Copyright 2014 Esteban Castro Borsani.

Licensed under the MIT License.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.