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