parent
66213fceb2
commit
78966796fc
@ -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. |
||||||
|
|
||||||
|
|
Loading…
Reference in new issue