devinberg / pubpub

PubPub: Open publishing

Home Page:http://www.pubpub.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Coverage Status Dependency Status devDependency Status

PubPub

PubPub is a platform for open reading, writing, and publishing.

PubPub is open to all and available at www.pubpub.org

For more details, see http://www.pubpub.org/pub/about.

Getting Started

PubPub can be run on your own local machines or controlled servers. There are a few external dependencies which must first be configured. See /api/config.sample.js to configure these services. We strive to make PubPub completely independent from any external proprietary services, but our team is still small, so for the moment it is necessary.

Once the services are configured, run the following commands to install packages and run the dev server. Note, you will need [https://nodejs.org/en/download/](node and npm) installed on your machine:

npm install
npm run dev

PubPub is built with react, redux, node, express, and mongoose. For great react/redux testing, we use [https://github.com/gaearon/redux-devtools](Redux devtools). We suggest installing the [https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd](chrome extension) for a less popup-y dev environment.

For document collaboration to work the [https://github.com/pubpub/collab] (PubPub Collab) server needs to be running and the url and secret need to be added to /api/config.js.

Building and Running Production Server

npm run build
npm run start

Deploying to Heroku

For testing or production services, PubPub deploys easily to Heroku. A few config variables must be set:

heroku create
heroku config:set NODE_ENV=production
heroku config:set NODE_PATH=./src
heroku config:set NPM_CONFIG_PRODUCTION=false
heroku config:set mongoURI=<MONGOURI>
git push heroku master
heroku ps:scale web=1

Docs

Most documentation is spread throughout the project alongside the code it is describing.

DOCUMENTATION.md aggregates those READMEs for easy navigation.

Updates and Roadmap

CHANGELOG.md documents changes to the project and future features.

Contributing

We welcome contributions to PubPub in the form of feedback, bug reports, feature ideas, and code!

CONTRIBUTING.md documents contributing guidelines.

Testing

Tests run using Mocha. All test files follow the pattern filename.test.js.

To run tests:

npm install
npm run test        # test client and server code with mocha

More on tests

About

PubPub: Open publishing

http://www.pubpub.org

License:Other


Languages

Language:JavaScript 97.3%Language:CSS 2.6%Language:HTML 0.1%