add a readme

Ondřej Hruška 3 years ago
parent 66213fceb2
commit 78966796fc
Signed by: MightyPork
GPG Key ID: 2C5FD5035250423D
  1. 38

@ -0,0 +1,38 @@
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.