From 84cfd47fe4d2fde8b5aeaa6c1f09b1c15668f129 Mon Sep 17 00:00:00 2001 From: cel 🌸 Date: Sun, 13 Aug 2023 16:03:31 +0100 Subject: initial planning --- DESIGN.md | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ TODO.md | 8 ++++++ 2 files changed, 94 insertions(+) create mode 100644 DESIGN.md create mode 100644 TODO.md diff --git a/DESIGN.md b/DESIGN.md new file mode 100644 index 0000000..14353b8 --- /dev/null +++ b/DESIGN.md @@ -0,0 +1,86 @@ +# DESIGN + +## overview + +victoria is essentially a wiki for artists + +### main data types + +series + works + texts + media + +users + artists + +tags + +posts + notes + articles + +## parts + +### series + +values: +- works +- title +- text: optional + +series do not have to contain works +series are editable over time +series may be posted as articles + +### works + +works are a collection of content with optional title and text/description + +- type: (multiple) choice from user-defined collection +- content: + - media + - text(s) +- title: optional +- text/description: optional + +works do not have to contain content +works are editable over time +works do not have to be part of a series +works may be posted as articles + +### text + +texts are a text form of media and contain +- text + +texts may be posted as notes + +### media + +media are JUST media and contain +- file +- alt text: optional +- comment: optional + +media may be posted as notes + +### user + +users are whoever can edit the repository and post content + +### artists + +artists contain artist info for everybody who is documented in the repository, and may or may not be a user. + +artists can be attributed to media, works and series. + +### tags + +tags are used for linking all content + +### posts + +posts can be articles or notes, and may consist simply of a link to a series, work, or piece of media/text, or a standalone article or note as part of the blog/microblog. + +posts are the foundation of the social features via rss, where people can subscribe to the blog, series, and works, as articles, and media, texts, the microblog, and repository updates, as notes. diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..96f6e30 --- /dev/null +++ b/TODO.md @@ -0,0 +1,8 @@ +# TODO + +[ ] design data structures + [ ] separation between date added and date created + [ ] difference between series and (blog) article? +[ ] create database +[ ] design api for updating repository +[x] plan out architecture -- cgit