Spirit/README.md

93 lines
3.2 KiB
Markdown
Raw Normal View History

2014-05-09 23:01:46 +00:00
# Spirit [![Build Status](https://travis-ci.org/nitely/Spirit.png)](https://travis-ci.org/nitely/Spirit) [![Coverage Status](https://coveralls.io/repos/nitely/Spirit/badge.png)](https://coveralls.io/r/nitely/Spirit)
2014-05-09 21:34:48 +00:00
Spirit is a Python based forum built using the Django framework.
To see it in action, please visit [The Spirit Project](http://spirit-project.com/).
## Requirements
Spirit requires the following software to be installed:
* Python 2.7 3.3 3.4
2014-09-29 03:03:18 +00:00
* Django 1.7
2014-05-09 21:34:48 +00:00
* PostgreSQL or MySQL or Oracle Database
## Dependencies
2014-05-10 05:15:45 +00:00
Check out the [requirements](https://github.com/nitely/Spirit/blob/master/requirements.txt) provided.
2014-05-09 21:34:48 +00:00
## 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`.
2014-08-18 20:42:36 +00:00
If you want to extend the Spirit user model (adding new fields or methods),
2014-05-09 21:34:48 +00:00
your model must inherit from `spirit.models.user.AbstractUser`.
2014-08-18 20:42:36 +00:00
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](https://github.com/nitely/Spirit-User-Profile) app.
2014-08-18 20:40:05 +00:00
2014-05-09 21:34:48 +00:00
## Installing (Advanced)
2014-05-10 05:15:45 +00:00
Check out the [example](https://github.com/nitely/Spirit/tree/master/example) provided.
2014-05-09 21:34:48 +00:00
In short:
Add `url(r'^', include('spirit.urls', namespace="spirit", app_name="spirit")),` to your *urls.py*
Add `from spirit.settings import *` to the top of your *settings.py* file,
2014-06-09 00:11:01 +00:00
otherwise you will have to setup all django's related constants (Installed_apps, Middlewares, Login_url, etc)
2014-05-09 21:34:48 +00:00
Run:
2014-06-09 00:11:01 +00:00
pip install -r requirements.txt
2014-09-29 03:03:18 +00:00
python manage.py migrate
2014-05-09 21:34:48 +00:00
python manage.py createcachetable spirit_cache
2014-06-09 00:11:01 +00:00
python manage.py collectstatic
2014-05-09 21:34:48 +00:00
2014-06-09 00:11:01 +00:00
> **Note:**
2014-05-09 21:34:48 +00:00
>
> You will need to setup a search engine,
> Spirit is configured to work with [Woosh](https://bitbucket.org/mchaput/whoosh/wiki/Home) by default.
>
> An email server is required, you can host your own (ie: [exim](http://www.exim.org/)),
> or hire an external service provider (ie: [Mandrill](http://mandrill.com/)).
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](http://www.virtualenv.org) is adviced.
## Updating
2014-08-01 23:19:23 +00:00
Run:
pip install -r requirements.txt
2014-09-29 03:03:18 +00:00
python manage.py migrate
2014-08-01 23:19:23 +00:00
python manage.py collectstatic
python manage.py rebuild_index
2014-05-09 21:34:48 +00:00
## Contributing
Feel free to check out the source code and submit pull requests.
2014-05-10 05:15:45 +00:00
You may also report any bug or propose new features in the [issues tracker](https://github.com/nitely/Spirit/issues)
2014-05-09 21:34:48 +00:00
## Copyright / License
Copyright 2014 [Esteban Castro Borsani](https://github.com/nitely).
2014-05-10 05:15:45 +00:00
Licensed under the [MIT License](https://github.com/nitely/Spirit/blob/master/LICENSE).
2014-05-09 21:34:48 +00:00
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.
2014-06-05 02:46:58 +00:00
See the License for the specific language governing permissions and limitations under the License.