Decision Records#
TDD: When to write tests?#
(Starting with a blank page?)
SQLite?#
Read/write to to SQLite on start/exit (and write to local file for cache) (otherwise mod SQLite to use Tahoe) write to redis on the fly (for caching) : more dependencies
Time Zone for date field?#
UTC would be best and then (optionally display in the user’s locale?)
Kelvin for temp#
Should I collect from user in C or F rather than force them to enter Kelvin?
Flow rate from 0 - 50#
Should the upper boundary be lower?
Choose an HTTP client for the examples#
requests
SQLite for the “database” in Private facts
Introduce the file/path metaphor later?#
Do it later
Other pending content#
Footnote on the LIT (for short items, that don’t even leave the client)
Domain Model#
https://www.cosmicpython.com/book/chapter_01_domain_model.html#_what_is_a_domain_model
Entity Value Object Domain Service
Entity#
User Account
Value Object#
fURL
Content
Metadata (alias, path, directory)
A user uploads content, they send a file and get a fURL
app -> a
User downloads content, they send a fURL and get the content
User creates a directory, they send a name (path?) and get fURL
(User does not update)
User deletes a file, they send a fURL and a delete
Control Plane#
Tahoe commands over Foolscap (“the API”)
Data Plane#
Content over HTTPS
Mutable: SDMF vs NDMF#
Use SDMF for the initial small file scenarios. Later, with more elaborate file types like images and movies.