notesmachine/server/nm-store
Elf M. Sternberg 8ee71c76a3 FEAT Can initialize the database and fail to retrieve a page.
In the great tradition of TPP, this is a win.  We've gone through
the test driven development, and there is so much *learning* here:

- tokio::test NEEDS the threaded_schedular feature to report errors correctly
- thiserror can't do enum variants the way I expected
- Different error types for different returns is not kosher
- Serde's configuration NEEDS a type, such as JSON, to work,
- Rust has include_str!(), to embed text in a Rust program from an external source
- SQLX is still a pain, but it's managable.
2020-09-28 17:33:43 -07:00
..
src FEAT Can initialize the database and fail to retrieve a page. 2020-09-28 17:33:43 -07:00
.gitignore DOC Phase one committed to the project, the basic layout of the backstore. 2020-09-27 05:35:37 -07:00
Cargo.toml FEAT Can initialize the database and fail to retrieve a page. 2020-09-28 17:33:43 -07:00
README.org DOC Phase one committed to the project, the basic layout of the backstore. 2020-09-27 05:35:37 -07:00

README.org

Notesmachine Store

This is the storage layer for Notesmachine. It supports the retrieval of the basic information from Notesmachine, but it never reveals the underlying mechanisms by which it performs its magic. The "ids" leaving this API will always be the textual ids used in all public representations:

  • Boxes are referenced by slugs, and clients must accept uniqueness failures.
  • Notes are referenced by "friendly_id" format strings, which are base-62 formatted versions of UUID4 strings.

Plans

TODO Make it possible to save a note

TODO Make it possible to retrieve a note

TODO Read how others use SQLX to initialize the database

TODO Implement CLI features

TODO Make it possible to connect two notes

TODO Make it possible to save a page

TODO Make it possible to connect a note to a page

TODO Make it possible to retrieve a collection of notes

TODO Make it possible to retrieve a page