Meet Anzu
Anzu is our greatest endeavor to build the most rad, simple & reactive forum software out there since the Javascript revolution.
Forum platforms to host communities are vast. Many would say it's a lifeless space with almost zero innovation, and attempting to create something new is pointless. We dissent, and if you found this repository you might also share with us the idea that there has to be an alternative to the old forum. Well, we think Anzu is that young and sexy software that could bring back to life the community-building movement.
This repository contains the core backend and the frontend submodule link.
We're still working in the first alpha, so previous knowledge about the stack is required to set things up.
Alpha screenshot
Anzu's stack
- Golang.
- Redis (to be replaced)
- BuntDB (embedded cache)
- MongoDB (DB)
- Cycle.JS (A functional and reactive JavaScript framework)
Contribute
Installation
Download dependencies
The first step is to download Go, official binary distributions are available at https://golang.org/dl/.
If you are upgrading from an older version of Go you must first remove the existing version.
Download the package file, open it, and follow the prompts to install the Go tools. The package installs the Go distribution to /usr/local/go.
The package should put the /usr/local/go/bin directory in your PATH environment variable. You may need to restart any open Terminal sessions for the change to take effect.
Make sure you have defined your GOPATH:
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Now you need to download and configure MongoDB and Redis. Alternatively you can use remote servers.
Install dep
for go dependencies: https://github.com/golang/dep. In MacOS it can be installed with brew
.
Execute the following command: go get https://github.com/cespare/reflex
Reflex probably only works on Linux and Mac OS.
Download the repositories
Download the core in any path.
Initialize the repo submodule, so the frontend is in static/frontend
.
git submodule update --init --recursive
Install the core dependencies with go build
.
Install the frontend dependencies with yarn install
.
Copy the .env.example
file into .env
and edit it to meet your local environment configuration.
Edit static/frontend/src/index.html
. The window.Anzu
variable is the configuration section.
Last steps
Execute the script develop.sh
to have hot reload (compile and run) while editing the core code.
Execute brunch watch -s
in static/frontend
to have hot reload while editing the frontend code.
Commits
We follow the Conventional Commits specification, which help us with automatic semantic versioning and CHANGELOG generation.