A developer and designer friendly web platform for building gorgeous sites, blogs and portfolios.
Go to file
Dorian 0e06767f98 Fix up login and article content editing and display. 2016-08-12 19:40:40 -04:00
client Fix up login and article content editing and display. 2016-08-12 19:40:40 -04:00
docs Update changelog and migrated todo list as issues in Bitbucket project. 2015-10-23 08:24:51 -04:00
rookeries Work towards fixing the article display and saving controls. 2016-08-08 17:49:13 -04:00
tasks Work on fixing up the user login view. 2016-08-12 09:14:39 -04:00
tests Fix style issues and improve code overall. 2016-08-12 18:08:21 -04:00
vagrant Fix the automated invocation of the Ansible Rookeries role. 2016-04-28 18:09:51 -04:00
.eslintrc.json Fix style issues and improve code overall. 2016-08-12 18:08:21 -04:00
.gitignore Remove compiled version of Rookeries client. 2016-08-06 07:45:26 -04:00
Dockerfile Fix permissions on the Rookeries container. 2016-08-09 07:44:26 -04:00
Makefile Add support for feature tests in PhantomJS. 2016-06-21 08:27:40 -04:00
bitbucket-pipelines.yml Add CouchDB dependency. 2016-06-24 12:46:18 +00:00
docker-compose.yaml Add in ability to bootstrap a Dockerized CouchDB database with a sample Rookeries DB. 2016-08-09 08:15:50 -04:00
license.md Update documentation on the purpose of Rookeries. 2015-09-03 13:31:52 -04:00
package.json Work on fixing up the user login view. 2016-08-11 09:36:02 -04:00
readme.md Add caveat to readme about Docker workflow. 2016-05-29 21:56:59 -04:00
requirements-dev.txt Fix up requirements to trigger build. 2016-06-25 11:38:21 -04:00
requirements.txt Update requirements based on feedback from Flask-JWT maintainer. 2015-10-23 08:04:07 -04:00
setup.cfg Make flake8 complain less about packages not part of Rookeries. 2014-10-21 18:36:38 -04:00

readme.md

Rookeries

A developer and designer friendly web platform for building gorgeous blogs and portfolios.

Rookeries is:

  • Powered by Python on the server side using Flask and CouchDB.
  • Uses React, Reflux, CoffeeScript and LESS to build responsive single page apps.
  • Licensed under the Affero GNU General Public License (AGPL) version 3.0.
  • Heavily inspired by the Ghost blogging platform.

Status

  • Builds: Codeship Status for dorianpula/rookeries

Installation

Rookeries is heavily under development and once things stabilize there will be a user friendly installation guide. In the meantime, please refer to the development guide below.

Development

Rookeries uses the following technologies:

  • Python
  • NodeJS
  • CoffeeScript
  • GCC (for compiling some dependencies)

Make sure you have the following installed and setup before continuing:

  • git
  • pip
  • virtualenv
  • npm

comfortable using the bash shell on Linux or Mac OS X. (Window users should install bash using cygwin or the Windows App store.)

For development and deployment you'll also need Vagrant and Ansible.

Getting Started

  1. Clone this repository: git clone https://bitbucket.org/dorianpula/rookeries.git
  2. Create a virtualenv and source it: virtualenv rookeries && source rookeries/bin/activate
  3. Install the Python/PIP dependencies: pip install -r requirement/development.txt
    • Ubuntu Linux: You may need to install via apt-get install the following dependencies:
      • python-dev
      • libffi-dev
      • libssl-dev
  4. Install the Node/NPM dependencies: npm install
  5. Install the global Node/NPM dependencies: npm install -g coffee-script browserify less karma-cli
  6. Run the invoke build script to run the application: inv server.run
  7. Navigate to the main Rookeries page in a browser: http://localhost:5000/

Use inv -l to list all the available commands.

Getting Started - Docker

This is a very experimental setup, and requires installing the latest version of docker-compose. Tested on Docker 1.11.1 & Docker Compose 1.7.1.

  1. Install docker-compose via pip: pip install docker-compose
  2. Install make via apt-get: apt-get install make
  3. Build Rookeries: make build
  4. Run tests: make test
  5. Run demo: make demo

Test Deployment

You can also test the deployment of Rookeries to local server. You'll need to install to have Vagrant. Ansible should be installed in your virtualenv if you followed the instructions above.

  1. Install the Rookeries to a local Vagrant box with: inv vagrant.install
  2. The application will be accessible via port 8080 locally: http://localhost:8080/