2026-03-31 01:48:08 -05:00
2026-03-31 01:48:08 -05:00
2026-02-02 22:19:16 -06:00
2026-04-06 03:15:20 -05:00
2026-04-07 03:24:12 -05:00
2026-04-05 00:22:06 -05:00
2026-04-05 00:22:06 -05:00
2026-04-03 19:25:24 -05:00

member-console

Member console application for users to create, acccess, and manage their accounts associated with the Wiki Cafe MSC (multi-stakeholder co-operative).

Database Management

See docs/database-management.md for migrations, per-module schema ownership, and sqlc code generation.

Building and publishing container image

Building and publishing the container image is done using Docker Buildx. This allows us to build multi-platform images for both ARM64 and AMD64 architectures.

docker buildx build \
  --platform linux/arm64,linux/amd64 \
  -t git.coopcloud.tech/wiki-cafe/member-console:latest \
  -t git.coopcloud.tech/wiki-cafe/member-console:$(date +%Y-%m-%d) \
  --push \
  .

Deploying image to production

Generating Secrets

To generate secure values for session-secret and csrf-secret, use the following commands:

For session-secret (a base64-encoded random string):

openssl rand -base64 32

Example output:

rJcniy2aWl3vwBcrMJfqsTL+Wys7EwDx/RC+DRrKcYg=

For csrf-secret (a 32-character hexadecimal string):

openssl rand -hex 16

Example output:

e157b42a5b608882179cb4ac69c12f84

Ensure these secrets are securely stored and persisted for application use.

Development

Building

Compile to ./member-console

make build

Linting

Ensure no handler bypasses SafeTemplates by writing directly to ResponseWriter

make lint-templates

lint-templates scans internal/server/ for .ExecuteTemplate(w, in any file. All template rendering must go through h.Templates.Render() — see internal/server/render.go for why.

Database

Regenerate sqlc query code after schema changes

make sqlc-generate

Development status

See status/ for the development roadmap, milestones, and notes.

Description
Member console application for users to create, acccess, and manage their accounts associated with the Wiki Cafe MSC.
Readme AGPL-3.0 10 MiB
Languages
Go 78.8%
HTML 17.1%
Shell 2.7%
JavaScript 0.7%
PLpgSQL 0.3%
Other 0.3%