A digital life memoir of your life
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.

50 lines
1.9 KiB

# Store
The Store is the central point of the application. It is responsible for
keeping all the information sent by Capturers and providing a search/list
functionality for Viewers.
## Configuration
We would need, at least (probably in envvars):
- `IP`: Binding IP for the server.
- `PORT`: Binding port for the server.
## Internals
We would probably need a design like:
### Entry
| Field | Description |
| ------- | --------------------------------------------------- |
| id | UUID of the record. |
| title | String, produced by a Capturer. |
| content | Text, produced by a Capturer. It's always Markdown. |
| source | Capturer name. |
### Meta
Meta contains the meta information of the entry, used by a Capturer. A view may
or may not display those fields.
| Field | Description |
| ------- | --------------------------------------------------- |
| id | UUID of the record. |
| entry | ForeignKey of the entry. |
| name | Meta field name. |
| value | Meta field value. |
### Attachments
Attachments are not meta information, but something related to the entry -- for
example, if the content contains any images, those are added as attachments.
| Field | Description |
| ------------- | --------------------------------------------------- |
| id | UUID of the record. |
| entry | ForeignKey of the entry. |
| content\_type | Type of the content. |
| content | Attachment content, in Base64. |