a small relational database with user-editable schema for manual data entry
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.
Ondřej Hruška ad6683adec
nicer bigtext editor
11 months ago
yopa add sort keys to things, add options object for "multiline" 11 months ago
yopa-web nicer bigtext editor 11 months ago
.gitignore clean, change default file extension for json 11 months ago
Cargo.lock add sort keys to things, add options object for "multiline" 11 months ago
Cargo.toml wip new UI with spectre 11 months ago
README.md add a readme 11 months ago



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.