Python HTML CSS JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
fec
requirements
.prospector.yaml
.travis.yml
LICENSE.txt
README.rst
gulpfile.js
package.json
screenshot.png
wireframes.ep

README.rst

Federation of Egalitarian Communities Website

This is the Mezzanine project that powers http://thefec.org.

Open issues live at http://bugs.sleepanarchy.com/projects/fec/issues

The project roadmap lives at http://bugs.sleepanarchy.com/projects/fec/roadmap

Test Status Code Coverage Status Documentation Status The FEC Communities Page

Quickstart

Clone source code:

git clone http://bugs.sleepanarchy.com/fec.git

Create a new virtualenv:

mkvirtualenv fec

Install the lessc LESS compiler for your system:

# Arch Linux
pacman -S nodejs-less
# Debian
apt-get install node-less

Install python dependencies w/ pip:

pip install -r requirements/local.txt

Set environmental variables to match your configuration:

export DJANGO_SECRET_KEY=fourtytwo
export DJANGO_SETTINGS_MODULE=fec.settings.local
export DB_NAME=FEC
export DB_USER=myuser

Create the database and optionally preload some initial data:

cd fec
./manage.py createdb --noinput
./manage.py loaddata homepage/fixtures/homepage_original.json
./manage.py loaddata fec/fixtures/nav_pages_original.json

Finally you can start the dev server:

./manage.py runserver 0.0.0.0:8000

BrowserSync

BrowserSync lets you sync up actions betweens browsers & automatically reloads your browsers when a source file has been modified.

You'll need npm & gulp installed:

pacman -S npm
npm install -g gulp

Then install our Gulp dependencies & run gulp in the project's base directory:

npm install
gulp

Gulp will start the Django server for you along with a proxy server that injects the BrowserSync code at http://localhost:8010.

Documentation

You can read the documentation at http://fecwebsite.readthedocs.org/.

To build the documentation locally:

cd docs/
make html

Then read the docs at docs/_build/html/index.html.

Tests

Install the test dependencies:

pip install -r requirements/test.txt

Then you can start the test runner:

cd fec
py.test

Once completed, the test runner will monitor for file changes & re-run the test suite.

You can also run a subset of the tests:

py.test communities/tests.py
py.test -k CommunityDetail
py.test communities/tests.py -k List

Deployment

The documentation contains a guide for deploying on Debian 7 (Wheezy) using memcached, postgreSQL, uWSGI and Apache.

Contribute

Template overrides and sitewide items go in fec.

Write tests, maintain 100% test coverage. Update docs when necessary.

Run prospector in the base directory to check out your code style.

License

GPLv3