Coder Social home page Coder Social logo

tryanzu / frontend Goto Github PK

View Code? Open in Web Editor NEW
14.0 4.0 2.0 33.03 MB

Frontend repository / Reactive realtime forum software (currently alpha).

Home Page: https://tryanzu.com

License: Apache License 2.0

JavaScript 87.36% HTML 0.62% SCSS 12.02%
forum reactive realtime golang mongodb anzu frontend bulletin-board bulletin-board-system reactjs

frontend's Introduction

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 front-end repository.

We're still working in the first alpha, so previous knowledge about the stack is required to set things up.

Anzu's stack

  • Golang.
  • Redis (to be replaced)
  • BuntDB (embedded cache)
  • MongoDB (DB)
  • React JS (with a heavy use of hooks)

Installation

Download dependencies

The first step is to download and install Go, official binary distributions are available at https://golang.org/dl/.

Download and configure MongoDB and Redis (you'll need to create a root user in MongoDB). Alternatively you can use remote servers.

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 andn build the core dependencies with go build -o anzu. A binary named anzu will be created and it is the program we'll run to create an anzu forum.

Now go to the frontend folder in static/frontend, install the frontend dependencies with npm install and finally compile the frontend with npm run build.

Configure

Copy the .env.example file into .env and edit it to meet your local environment configuration. Environment config can be setup either using OS env vars or .env file. This config is read at anzu boot time and it is core to be able to run the program.

Copy the config.toml.example file into config.toml and edit it to meet your site configuration.

Last steps

Having mongodb & redis running and everything set up in .env we can now start the program.

Execute ./anzu and have fun.

Commits

We follow the Conventional Commits specification, which help us with automatic semantic versioning and CHANGELOG generation.

frontend's People

Contributors

chrisggs avatar dependabot[bot] avatar emmanuelmr18 avatar erick423 avatar fernandez14 avatar glacingkaos avatar rodrigocr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

frontend's Issues

Category editor in configuration panel.

Currently we need to do the categories setup & organization directly through the categories collection in database (mongodb).

While simple we still need to provide a UI to do this setup and to perform updates.

The UI can fit inside configModal.

Remove tachyons for colours

I think it is a good idea to use tachyons for positioning, paddings, margins, etc, but if we use it for colours, theme customization is going to become a pita.
Example:
image

image

Complete flag post/comment implementation.

Currently there's POST /v1/flags to perform this operation. The implementation needs to be completed at the frontend, first it asks for the flag's category & content and finally sends the flag to the endpoint.

The current form of the model is:

type upsertFlagForm struct {
	RelatedTo string        `json:"related_to" binding:"required,eq=post|eq=comment"`
	RelatedID bson.ObjectId `json:"related_id" binding:"required"`
	Category  string        `json:"category" binding:"required"`
	Content   string        `json:"content" binding:"max=255"`
}

Anzu's content drafts: comments

Nowadays the process of writing a new comment requires the user to finish it's writing within one page session, if an answer requires some thinking/drafting before actually publishing the process becomes a lil bit of a pain since you can lost your content when leaving or navigating through the site.

So the task is to start implementing a simple but functional draft content storage for started replies, for initial release it may be local/session storage for simplicity.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.