From 2879d8b4bdc3bce253faaee6a9f4e66752b7f272 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 12 Feb 2024 11:00:27 +0100 Subject: [PATCH] docs: add project primitive descriptions --- README.md | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b2e7a55..823364e 100644 --- a/README.md +++ b/README.md @@ -19,4 +19,32 @@ it is done with running the SQL command below, and restating the database server ALTER SYSTEM SET wal_level = logical; ``` -## Using the api +## Project description + +The app has these basic concepts: + +### User + +A user of the system (obviously). User authn is not implemented, authz is very simplified. + +### Resource + +This is an abstract object representing a project, that multiple users might work on. +The notion of work on is currently implemented as the comment create action. +A resource might belong to an organization or belong to the default (null) organization. + +### Comment + +A text note, that belongs to a given resource, created by a user. + +### Region + +A geo-located data storage region, currently implemented as a PostgresSQL database server. +When providing a connection url to a region, make sure to not include a database name or any trailing `/`-s in the url. + +### Organization + +A collection of users and an owner of resource. Any user may create organizations. +Organizations may be granted access to any given region. That action creates a new database in the region DB server. migrates it to the latest DB schema and sets up user and resource publish and subscribe mechanisms. + +###