diff options
| author | Joe Carstairs <me@joeac.net> | 2025-07-16 19:50:20 +0100 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2025-07-16 23:13:33 +0100 |
| commit | 71b012799f7081c80fe8a03a5862e316e22e6d93 (patch) | |
| tree | 48762902ae53eb6c8388cb9957afea17037058dd /requirements/architecture/arch-v1.md | |
| parent | a9b04233ca31e432bb77626ccec4249bbf3bcdf7 (diff) | |
task-007 document architecture
Diffstat (limited to 'requirements/architecture/arch-v1.md')
| -rw-r--r-- | requirements/architecture/arch-v1.md | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/requirements/architecture/arch-v1.md b/requirements/architecture/arch-v1.md new file mode 100644 index 0000000..a8b8b13 --- /dev/null +++ b/requirements/architecture/arch-v1.md @@ -0,0 +1,29 @@ +# Architecture + + + +- There must be a desktop GUI +- The desktop GUI must persist domain entities to an SQLite file +- The desktop GUI must persist config and caches to files +- The desktop GUI must send and receive messages to the REST API via HTTPS +- There must be a REST API +- The REST API must send and receive messages to the CRDT sync server via Unix + sockets +- There must be a CRDT sync server +- The CRDT sync server must send and receive messages to the NoSQL database via + Unix sockets +- There must be a backup service +- The backup service must communicate to the backups bucket via HTTPS +- There must be a backups bucket +- The backups bucket and the server must live on different machines +- There must be a Web app server, which serves a Web GUI over HTTPS +- The Web GUI must save domain entities to IndexedDB +- The Web GUI must persist config and caches to Local Storage +- The Web GUI must send and receive messages to the REST API via HTTPS +- There must be an SMS API +- The SMS API must send and receive messages to the CRDT sync server via Unix + sockets + +## TBC + +- What kind of NoSQL database should be used on the server? |
