Extensible wiki system using CouchDB and written in Golang
Go Python JavaScript HTML Other
Clone or download
Latest commit 1fc2c0c Jul 11, 2016

README.md

Wikifeat

Build Status

Introduction

Wikifeat is an open source collaboration platform built around the ever-popular Wiki concept. It is meant to be extensible and highly usable. Many enterprise collaboration platforms may be powerful and extensible, but they are often difficult to develop for and have an unfriendly, overly complicated user experience. Wikifeat uses a microservices architecture which not only facilitates scalability, but also allows for the addition of custom services to extend the core system.

wikifeat_screenshot_sm

Goals

The overarching goals for the Wikifeat project are:

  • Usability - The core Wikifeat system should provide a simple, intuitive wiki experience with a clean UI an a simple, easy to learn markup language (i.e., markdown).
  • Extensibility - It should be possible to extend Wikifeat with additional services and front-end plugins to provide new functionality and integrate Wikifeat with other systems.
  • Scalability - It should be possible to horizontally scale a Wikifeat installation without great difficulty.

Key Features

Wikis

  • Allows for the creation of multiple 'wikis', each with its own access controls
  • Markdown is used for the markup language.
  • Users are able to comment on individual pages.

Wiki pages are edited using simple Markdown -- specifically, Commonmark. A screenshot of the editor interface is shown here:

wikifeat_edit_sm

REST API

The wikifeat core services each expose a REST API to facilitate extensibility and integration with other services.

Plugin Support

Wikifeat has the ability to load javascript plugins to extend the functionality of the web application.

Scalability

Wikifeat's architecture is designed with scalability in mind. The core system consists of a set of microservices registered to an Etcd service registry. Multiple instances of each services may be running across multiple machines, with service discovery handled by your Etcd cluster.

Status

I'm no longer actively developing Wikifeat and have moved on to other projects. I will accept pull requests, so please feel free to contribute and/or fork.

For an example of a running Wikifeat installation, see https://www.wikifeat.org

See the Technical Overview for a more detailed introduction.

Documentation

Please see the Wikifeat website for more information and documentation. Documentation is also a work in progress.

Contributing

Contributions are most welcome. See https://www.wikifeat.org/app/wikis/wikifeat/pages/contributing for details.