hanayo

command module
v0.0.0-...-d71a6ab Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 15, 2022 License: AGPL-3.0 Imports: 71 Imported by: 0

README

Hanayo v1.8.6 - Modified for the osu! private server: Atoka

This repository has a mirror here. The original repo is still here.

Stuff that works now!

Stuff that we got working now!

  • Clans
  • Linking Discord (for donors only)
  • Authorized Applications
Stuff that may not work.

We'll update this repository when we get the below functions working properly.

  • Two Factor Authentication

Sorry for the broken stuff, Atoka

To fellow developers: this is not how you do it!

The biggest flaw of hanayo are that when I set out to create it, I wanted to create a template system that:

  • Created a handler by simply having the file "be there"
  • Could fetch the data it needed on its own, often from the Ripple API
  • Had the actual Go code be as little as possible

This was not immediately evident to me, a Go beginner, but what I did there was basically make Go be PHP.

The biggest lesson I learned on how to properly do templates, was learning to use Vue. Yes, Vue can be used for the frontend and not really for server-rendered stuff, but even just learning how to do stuff with it can help you understand what a template is actually supposed to be in order to be maintainable.

The key concepts and insights for me where:

  • Separating clearly code and markup, making the template declarative and keeping as little code in the template
  • A template should be purely functional. Its mere creation should not generate side effects, nor should it be dependent on things that are not its precise inputs: for a given input there is a specific output.
  • The concept of component as a single self-contained entity which is the same wherever you use it is very powerful.
  • Once a template/component starts becoming too big, split it into more components.

But don't stop here. Actually making a project using Vue helps you to understand this much more easily than using mere words. Go ahead and build something, even if just to play around!

How to install this?

  • Download it: go get -u github.com/osuatoka/hanayo
  • Go to it: cd $GOPATH/src/zxq.co/ripple/hanayo
  • Install dependencies: ./dep ensure <-- Run this in $GOPATH/src/zxq.co/ripple/hanayo
  • Build it: go build .
  • Run it: go run .
  • Edit configuration: nano hanayo.conf

If you don't know how to do any of this, you aren't qualified.

Documentation

Overview

Hanayo is the Ripple front-end web server.

Directories

Path Synopsis
modules
bbcode
Package bbcode implements BBCode compiling for Hanayo.
Package bbcode implements BBCode compiling for Hanayo.
btcaddress
Package btcaddress makes sure the Bitcoin address for the Ripple donations account on Keybase is up-to-date.
Package btcaddress makes sure the Bitcoin address for the Ripple donations account on Keybase is up-to-date.
doc
Package doc handles documentation.
Package doc handles documentation.
routers

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL