Browse Source

add a readme

Ondřej Hruška 4 months ago
parent
commit
78966796fc
Signed by: Ondřej Hruška <ondra@ondrovo.com> GPG key ID: 2C5FD5035250423D
1 changed files with 38 additions and 0 deletions
  1. 38 0
      README.md

+ 38 - 0
README.md View File

@@ -0,0 +1,38 @@
1
+# YOPA
2
+
3
+Yopa is a relational database for cataloging things.
4
+
5
+The data model is user-editable through a web interface, together with the data.
6
+
7
+## Data model
8
+
9
+There are three kinds of entities in the database: objects, relations, and properties.
10
+
11
+Here is an example database schema that can be easily set up in Yopa:
12
+
13
+```
14
+      ,----quantity-----> Ingredient
15
+      |                   - amount in the pantry
16
+      |                   - e-shop link
17
+      |
18
+Recipe ------page X-----> Book
19
+- cook time               - author(s)
20
+- difficulty              - year
21
+- photo URI(s)
22
+```
23
+
24
+Relations link two objects. Properties are attached either to an object, or to a 
25
+relation - this makes sense for relations that need additional information, such as a 
26
+page number when referencing a book.
27
+
28
+Yopa implements four base data types: String, Integer, Decimal and Boolean. Properties 
29
+may further be optional and/or multiple.
30
+
31
+## Web interface
32
+
33
+Yopa is the database engine. There can be any number of user interfaces to it. Presently,
34
+the `yopa-web` module provides a web interface with a built-in web server. Just run the 
35
+binary and it will open your yopa database for editing. The file is created on the first
36
+change if it doesn't exist.
37
+  
38
+