fixadated

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

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

Go to latest
Published: Feb 14, 2023 License: AGPL-3.0 Imports: 10 Imported by: 0

README

Testing and building the go code.

fixadated

fixadated is the backend for the Caerus (Not publicly available yet) online tool to organize meetups and find dates. This is meant to be kept very simple - rather a proof of concept.

fixadated can embed an entire static web frontend and serve it under / thus eliminating the need for a separate hosting plan. Again: Suitable for a small user base; if you need to scale up you will probably want a different solution.

Building

You need to have Go (>= 1.19) installed to build.

First you need to put your static frontend in res/webapp. It is imparative that you put at least one file here. The build will fail otherwise.

Then:

go build

Operating

Once you start the daemon it will listen on localhost:8080 for incoming http requests. TLS/SSL is not implemented since this daemon is meant to be run behind a proxy that handles this kind of stuff.

On / a file server will run that serves the files from res/webapp. On /api a very barebones REST API can be found that handles the important stuff.

REST API

The following endpoints are implemented so far:

Method Route Expected JSON Request Answer
GET /api/event/:eventid None {name, description, dates, participants}
POST /api/event {name, description, dates} {name, description, dates, id, editId, participants}
PATCH /api/event/:editeventid {name, description} {name, description, dates, id, editId, participants
POST /api/event/:eventid/register {name, declarations} {name, id, editId, declarations}
PATCH /api/participation/:partid {name, declarations} {name, id, editId, declarations}

Documentation

Overview

fixadated is a daemon for a collaborative date finding tool.

Copyright (C) 2023 Daniel Steinhauer <d.steinhauer@mailbox.org>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

fixadated is a daemon for a collaborative date finding tool.

Copyright (C) 2023 Daniel Steinhauer <d.steinhauer@mailbox.org>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

Directories

Path Synopsis
fixadated is a daemon for a collaborative date finding tool.
fixadated is a daemon for a collaborative date finding tool.
fixadated is a daemon for a collaborative date finding tool.
fixadated is a daemon for a collaborative date finding tool.
fixadated is a daemon for a collaborative date finding tool.
fixadated is a daemon for a collaborative date finding tool.
fixadated is a daemon for a collaborative date finding tool.
fixadated is a daemon for a collaborative date finding tool.

Jump to

Keyboard shortcuts

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