protocol agnostic decentralized social media client
Find a file
2024-09-09 09:30:15 -04:00
adapter MisskeyAdapter: add author cache 2024-08-17 10:56:50 -06:00
frontend wepa again i'm doin itnpm i profile-components i added this npm package for profile views 2024-09-09 09:30:15 -04:00
models implement batched fetch and fix adding adapter 2024-08-03 10:52:33 -06:00
server don't add redundant IDs to batch timers, close data channel properly 2024-08-22 19:49:17 -06:00
.gitignore settings-element, tabbar-element: fix attributeChangedCallback 2024-08-22 19:18:30 -06:00
build.sh use static classes for Settings and AdapterState 2024-07-16 13:43:35 -06:00
go.mod local replace directive for go-misskey to bypass upstream bug 2024-06-23 10:34:29 -06:00
go.sum local replace directive for go-misskey to bypass upstream bug 2024-06-23 10:34:29 -06:00
package-lock.json cleanup node deps 2024-07-06 12:55:34 -06:00
package.json cleanup node deps 2024-07-06 12:55:34 -06:00
README.md left my mark 2024-08-25 16:22:07 -04:00
tsconfig.json clean up frontend build config 2024-07-07 11:07:18 -06:00
underbbs.go bootstrap backend nostr adapter 2024-05-19 14:42:28 -06:00
webpack.config.js turn off minification and start refactoring web components 2024-08-04 11:48:51 -06:00

underBBS

underBBS is a platform-agnostic messaging and social media client (feat consultation and motivational support from miggymofongo!!!)

design

underbbs supports multiple simultaneous account logins, mediating them for each user through a gateway server that handles all protocol-specific logic via adapters and streaming content to the user through a single websocket connection with a singular data interface.

each distinct adapter connection/configuration is represented in the frontend as a tab, and using the websocket's event-driven javascript interface with web components we can simply either store the data or tell the currently visible adapter that it might need to respond to the new data

adapters receive commands via a quartzgun web API and send data back on their shared websocket connection

building and running

requirements are

  • go 1.22
  • any recent nodejs that can do typescript and webpack 5

from the project root:

  1. ./build.sh front
  2. ./build.sh server
  3. ./underbbs

visit http://localhost:9090/app