From 78966796fc461d4d91c2a94730f1a7e4c30d6e9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Hru=C5=A1ka?= Date: Sat, 20 Feb 2021 22:08:21 +0100 Subject: [PATCH] add a readme --- README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..bb52b29 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# YOPA + +Yopa is a relational database for cataloging things. + +The data model is user-editable through a web interface, together with the data. + +## Data model + +There are three kinds of entities in the database: objects, relations, and properties. + +Here is an example database schema that can be easily set up in Yopa: + +``` + ,----quantity-----> Ingredient + | - amount in the pantry + | - e-shop link + | +Recipe ------page X-----> Book +- cook time - author(s) +- difficulty - year +- photo URI(s) +``` + +Relations link two objects. Properties are attached either to an object, or to a +relation - this makes sense for relations that need additional information, such as a +page number when referencing a book. + +Yopa implements four base data types: String, Integer, Decimal and Boolean. Properties +may further be optional and/or multiple. + +## Web interface + +Yopa is the database engine. There can be any number of user interfaces to it. Presently, +the `yopa-web` module provides a web interface with a built-in web server. Just run the +binary and it will open your yopa database for editing. The file is created on the first +change if it doesn't exist. + +