diff --git a/README.md b/README.md new file mode 100644 index 0000000..bb52b29 --- /dev/null +++ b/README.md @@ -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. + +