# openevocracy

> Software to realize Evocracy concept: http://openevocracy.org/

Latest version **0.1.1** (published 2017-07-18) · 0 weekly downloads

## Install

```sh
npm install openevocracy
pnpm add openevocracy
yarn add openevocracy
bun add openevocracy
```

## Health

**Score 10/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; low quality score; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.1 |
| Published | 2017-07-18 |
| First published | 2017-05-19 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 51 |
| Known vulnerabilities | 0 (+21 in 6 direct dependencies) |
| Install scripts | no |
| Maintainers | openevocracy |

## Links

- npm: https://www.npmjs.com/package/openevocracy
- npm.io page: https://npm.io/package/openevocracy

## Dependencies (51)

- [ejs](https://npm.io/package/ejs.md) *
- [cron](https://npm.io/package/cron.md) *
- [gulf](https://npm.io/package/gulf.md) ^5
- [json](https://npm.io/package/json.md) *
- [send](https://npm.io/package/send.md) *
- [color](https://npm.io/package/color.md) ^1.0.3
- [debug](https://npm.io/package/debug.md) *
- [jsdom](https://npm.io/package/jsdom.md) 9.12.0
- [bcrypt](https://npm.io/package/bcrypt.md) ^1.0.2
- [chance](https://npm.io/package/chance.md) *
- [cookie](https://npm.io/package/cookie.md) *
- [jquery](https://npm.io/package/jquery.md) ^3.2.1
- [morgan](https://npm.io/package/morgan.md) *
- [multer](https://npm.io/package/multer.md) *
- [connect](https://npm.io/package/connect.md) *
- [express](https://npm.io/package/express.md) *
- [i18next](https://npm.io/package/i18next.md) ^7.2.3
- [methods](https://npm.io/package/methods.md) *
- [mongodb](https://npm.io/package/mongodb.md) ~2.0
- [request](https://npm.io/package/request.md) *
- [bluebird](https://npm.io/package/bluebird.md) *
- [mongoskin](https://npm.io/package/mongoskin.md) *
- [requirejs](https://npm.io/package/requirejs.md) *
- [rich-text](https://npm.io/package/rich-text.md) *
- [socket.io](https://npm.io/package/socket.io.md) 2.0.2
- [strformat](https://npm.io/package/strformat.md) 0.0.7
- [async-lock](https://npm.io/package/async-lock.md) ^0.3.8
- [nodemailer](https://npm.io/package/nodemailer.md) 2.7.2
- [underscore](https://npm.io/package/underscore.md) *
- [body-parser](https://npm.io/package/body-parser.md) *
- [collections](https://npm.io/package/collections.md) *
- [validate.js](https://npm.io/package/validate.js.md) *
- [buffer-crc32](https://npm.io/package/buffer-crc32.md) *
- [errorhandler](https://npm.io/package/errorhandler.md) *
- [node-crontab](https://npm.io/package/node-crontab.md) *
- [range-parser](https://npm.io/package/range-parser.md) *
- [app-root-path](https://npm.io/package/app-root-path.md) *
- [cookie-parser](https://npm.io/package/cookie-parser.md) *
- [serve-favicon](https://npm.io/package/serve-favicon.md) *
- [cookie-session](https://npm.io/package/cookie-session.md) *
- [gulf-mongoskin](https://npm.io/package/gulf-mongoskin.md) 0.2.3
- [stream-buffers](https://npm.io/package/stream-buffers.md) ^3.0.0
- [express-session](https://npm.io/package/express-session.md) *
- [method-override](https://npm.io/package/method-override.md) *
- [request-promise](https://npm.io/package/request-promise.md) *
- [cookie-signature](https://npm.io/package/cookie-signature.md) *
- [phantom-html2pdf](https://npm.io/package/phantom-html2pdf.md) *
- [underscore.string](https://npm.io/package/underscore.string.md) *
- [quill-delta-to-html](https://npm.io/package/quill-delta-to-html.md) ^0.3.0
- [i18next-node-fs-backend](https://npm.io/package/i18next-node-fs-backend.md) ^0.1.2
- [i18next-express-middleware](https://npm.io/package/i18next-express-middleware.md) ^1.0.2

## Recent versions

- 0.1.1 (latest) — 2017-07-18
- 0.1.0 — 2017-05-19

## README

# OpenEvocracy

Software to realize Evocracy concept: http://openevocracy.org/

See a running demo instance at: http://5.230.156.126:9090/

## Project

Evocracy is a concept to organize democratic decisions using modern technology. The goal is to increase quality of decisions, create a decentralized structure and keep safety and anonymity as far as possible. Additionally there is no authority in terms of admin roles, every user has the same rights.

Discussions are outsourced in small groups, therefore every idea has a chance to be heard and the best ideas will reach higher levels, where less and less people discuss a topic. People are voted in higher levels, based on there knowledge in the topic-specific area and their ability to integrate opposite ideas. Everyone has a new chance in every topic and everyone can be part in every topic, as well as suggest new topics to discuss.

## Installation

### Requirements

You should have a server with ssh access and root permissions and you should know how to use basic shell commands in linux. Your system needs the following requirements:

  * Node.js: https://nodejs.org/en/download/package-manager/
  * MongoDB: https://docs.mongodb.com/manual/administration/install-on-linux/

### 1. Install OpenEvocracy via npm

```shell
npm install openevocracy
cd node_modules/openevocracy
```

**Background**: [How to get npm?](https://docs.npmjs.com/getting-started/installing-node)

I don't want to use npm, where can I just download the code?  
Have a look at the releases page: https://github.com/openevocracy/openevocracy/releases

### 2. Database

Edit the file `install.js` to enter the mailserver configuration.

Then run

```shell
mongo evocracy install.js
mkdir data
```

### 3. Customize config.js

First copy the default config:
```shell
cp public/js/setup/configs.default.js public/js/setup/configs.js
```

Then customize the copied config in `public/js/setup/config.js`. There are different config sets, one for productive use and one for debugging. You can choose the config set in the end of the file.

#### Necessary changes

Change `EVOCRACY_HOST` to the URL where the instance will be reachable.

## Run OpenEvocracy

```shell
export IP=localhost
export PORT=80

mongod --dbpath=data --nojournal --bind_ip=127.0.0.1 &
node app.js
```

## Current Roadmap

### Wostock (0.1)

  * Concept for small communities (~ up to 100 members)
  * Implementation of collaborative documents (using gulf: https://github.com/gulf/gulf)

### Gemini (0.2)

  * Concept for big communities (~ up to 1000 members)
  * Citing (to be able to argue with facts/literatur/science)
  * Basic authentication, using invitations
  * Simple reputation system
  * Basic social components (simple timeline, follower, intimates, discussion groups)
  * Add external forums for groups
  * Extend topic (gps position, urgency, etc.)

### Outlook

  * Concept for the general public
  * Decentralize user authentification
  * Forgery protection for final documents
  * Complex reputation system
  * Decentralization in technology, use Blockchain?

## License

[Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/)

---
_Source: https://npm.io/package/openevocracy · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
