puzzleweb

command module
v1.11.4 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2023 License: Apache-2.0 Imports: 8 Imported by: 2

README

PuzzleWeb

PuzzleWeb is a microservice backed server allowing to include static content, blog, wiki, forum and custom "widget" with role based right management, user profile, user settings, and i18n.

License

All of the project in the Puzzle ecosystem are released under the Apache 2.0 license. See LICENSE.

Getting started

The project PuzzleWeaver allows to use PuzzleWeb features with a single binary (a modular monolith done with ServiceWeaver and configured with puzzleweaver.toml). Once Go installed, you can install PuzzleWeaver and ServiceWeaver with :

go install github.com/ServiceWeaver/weaver/cmd/weaver@latest
go install github.com/dvaumoron/puzzleweaver@latest

Then you need testing resources (see PuzzleTest) and datastores (PuzzleWeaver and PuzzleWeb rely on SQL databases, MongoDB instances and Redis instances)

Finally, you can run it with the command :

weaver single deploy puzzleweaver.toml

You can use PuzzleWeb directly (however you will have to manage gRPC servers for all services).

PuzzleTest contains test resources (configurations : frame.hcl, page templates : templatedata, and static files : static (use Pico.css and htmx)).

See this folder for an example of Helm chart deploying the different services.

See API Documentation for detailed package descriptions.

Technical overview

The main server use Gin and is backed by microservices called with gRPC, those services definitions (and list of proposed implementations) are :

  1. puzzlesessionservice (this contract is also used for settings storage)
  2. puzzletemplateservice
  3. puzzlepassstrengthservice
  4. puzzlesaltservice
  5. puzzleloginservice
  6. puzzlerightservice
  7. puzzleprofileservice

And optionnally (with some kind of page added) :

  1. puzzleforumservice
  2. puzzlemarkdownservice
  3. puzzleblogservice
  4. puzzlewikiservice
  5. puzzlewidgetservice, which is a way to add your custom dynamic page in a decoupled way

List of side projects:

List of helper projects :

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

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