You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.2 KiB
39 lines
1.2 KiB
4 years ago
|
# 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.
|
||
|
|
||
|
|