Skip to content

dvaumoron/puzzleweb

Repository files navigation

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).

Install via Homebrew

$ brew tap dvaumoron/tap
$ brew install puzzleweaver

Or get the last binary depending on your OS.

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 and localisation files : 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 :

About

A Gin based server with static content, blog, wiki and forum.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages