docs: added technical design #3

Merged
y merged 4 commits from technical-design into main 2025-03-24 07:51:38 +00:00
Owner

Intent

  • Add technical design.
## Intent - Add technical design.
y added 1 commit 2025-03-21 13:40:03 +00:00
b reviewed 2025-03-21 13:51:51 +00:00
@ -0,0 +29,4 @@
Cellar Cocial consists of the backend and frontend apps supported by the database and the relay.
All services will be deployed to the linux ([Ubuntu](https://ubuntu.com/)) server and traffic routing will be manged by [Nginx](https://nginx.org/). The entire server should be backed up daily.
Owner

Backups will happen at the host level, right?

Backups will happen at the host level, right?
Author
Owner

yes

yes
y marked this conversation as resolved
b approved these changes 2025-03-21 14:03:11 +00:00
@ -0,0 +23,4 @@
- Order the product.
- Engage with product related community.
- Provide NIP-05 names.
- View and sign on to events.
Owner

sign UP to in-person events

sign UP to in-person events
y marked this conversation as resolved
@ -0,0 +35,4 @@
![Alt text](./technical-design-assets/technical-design.svg)
`Client` - [frontend app](#frontend)
Owner

Might be better to rename this as the "Website" given that there are multiple (including non-hosted) frontend components

Might be better to rename this as the "Website" given that there are multiple (including non-hosted) frontend components
Author
Owner

Makes sense

Makes sense
y marked this conversation as resolved
@ -0,0 +37,4 @@
`Client` - [frontend app](#frontend)
`API` - [backend app](#backend)
Owner

Perhaps rename this as "API"? Or keep as "backend" and include both API and the DB.

Perhaps rename this as "API"? Or keep as "backend" and include both API and the DB.
y marked this conversation as resolved
@ -0,0 +55,4 @@
- [TypeScript](https://www.typescriptlang.org/)
- [React](https://react.dev/)
- [Nostr Login](https://github.com/nostrband/nostr-login) (authentication)
Owner

is it worth mentioning the NDK, or the library we'll implement?

is it worth mentioning the NDK, or the library we'll implement?
Author
Owner

potentially we'll use not just NDK, but nostr-tools or applesouce too. I would say it is more implementation details.

potentially we'll use not just NDK, but nostr-tools or applesouce too. I would say it is more implementation details.
y marked this conversation as resolved
@ -0,0 +57,4 @@
- [React](https://react.dev/)
- [Nostr Login](https://github.com/nostrband/nostr-login) (authentication)
HTTP requests to Cellar Social API should include Nostr signatures, so the backend app will be able validate it and provide the response.
Owner

mention NIP-98

mention NIP-98
y marked this conversation as resolved
@ -0,0 +75,4 @@
The backend app will have access to the database and will perform CRUD (create/read/update/delete) operations.
The backend app will also manage Npub whitelisting that `APP Relay` will use.
Owner

will also provide an npub verification service for the whitelisting function on the relay

will also provide an npub verification service for the whitelisting function on the relay
y marked this conversation as resolved
@ -0,0 +91,4 @@
- Reviews
- NostrEvents
Database has to be backed up daily.
Owner

is this separate to the box backup? If so, how will we manage the backups..

is this separate to the box backup? If so, how will we manage the backups..
Author
Owner

You are right, we don't need to back the DB up separately unless a more frequent DB backup is required.

You are right, we don't need to back the DB up separately unless a more frequent DB backup is required.
y marked this conversation as resolved
@ -0,0 +97,4 @@
[strfry](https://github.com/hoytech/strfry) (`APP Relay`) will be used for Nostr events.
Npub whitelisting has to be enabled for strict relay access.
Owner

maybe a description of how this will work - eg, a javascript function injection on the relay event listener, which calls GET /user/verify/$npub or sth like that

maybe a description of how this will work - eg, a javascript function injection on the relay event listener, which calls `GET /user/verify/$npub` or sth like that
y marked this conversation as resolved
@ -0,0 +101,4 @@
### Media Server
[nostr.build](https://nostr.build/) will be used as a media server. It is used to avoid inappropriate data while media uploads.
Owner

used because of their excellent service and safety protections. Users can make use of their existing nostr.build subscriptions when they upload content.

link: https://nostr.build/features/

used because of their excellent service and safety protections. Users can make use of their existing nostr.build subscriptions when they upload content. link: https://nostr.build/features/
y marked this conversation as resolved
y added 1 commit 2025-03-21 14:32:07 +00:00
y added 1 commit 2025-03-21 14:37:44 +00:00
y added 1 commit 2025-03-24 07:31:18 +00:00
y merged commit bfabd505d9 into main 2025-03-24 07:51:38 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cellar/cs-docs#3
No description provided.