Skip to content

alexandreboutrik/homburg

Repository files navigation

Homburg

Version Badge

Homburg is a backend solution for creating and managing forum platforms. It employs a proof-of-concept authentication system with asymmetric post-quantum cryptography, eliminating the need for traditional IDs and passwords. This approach not only enforces privacy (against leaks) but also ensures protection against spoofing attacks, including those that could be perpetrated by the platform admins.
Designed with simplicity and ease-of-use in mind, Homburg also offers robust configuration and management, providing endpoints for adminitrators to effectively control the forum environment.

Development status

Statistics:

Language Files Lines Blanks Comments
Go 13 440 105 58
Markdown 3 132 39 0
Bash 1 40 8 1
Total 17 612 152 59

Features:

Feature Status Description
PGA 🔲 In progress Authentication based on asymmetric cryptography.
Forum & Thread 🔳 Planned CRUD endpoints for forums and threads.
Post 🔳 Planned CRUD endpoints for posts.
Markdown 🔳 Planned Markdown syntax support for posts.
Reporting 🔳 Planned Reporting system for posts and profile pictures.
Admin panel 🔳 Planned Endpoints for easy management by the admin.
Filter keywords 🔳 Planned Block and/or filter keyword rules for posts.
Likes 🔳 Planned Like system for posts
User titles 🔳 Planned User title system according to a set rule of achievements.
Captcha 🔳 Planned Captcha support.
Email notification 🔳 Planned Configuration options to send a notification email to the user when something happens.

Instructions

Install the dependencies:

$ go get .

Configure the SQL server:

$ sudo vim /etc/postgresql-16/postgresql.conf
# uncomment or add the following lines:
listen_addresses = 'localhost'
port = 9900

$ sudo vim /etc/postgresql-16/pg_hba.conf # if exists
# change to
local all postgres trust
local all all md5

$ sudo rc-service postgresql-16 start

Run the server:

$ ./reset.sh
$ go run .

Frontend

The available frontend are listed below:

  • None.

You can also implement your own following the REST API documentation.

Documentation

REST api DEV guide USER guide
English - -
Português - -
Français - -

License

This project is licensed under the MIT License. Feel free to use, modify, and distribute the code as needed. See the LICENSE file for more information.

About

Modern forum software written in Go/Gin.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published