(wip)(not done)(pre alpha) skylite (temporary name probably)(test thing)#
an attempt to make a lightweight, easily self-hostable, scoped appview (kinda like fedi instances, so that means users need to register to an instance to have the content they should see be indexed) using:
- live sync systems:
- backfill:
- the server stuff:
- sqlite
- the usage of typescript
- deno
this uses XRPC server tooling and codegen so the repo is kinda large despite not being functional at all
currently the state of the project is:
- db:
- is not ready but ive started working on it
- db schema is kinda there but still iffy on the insertion (kysely with better-sqlite3 or just use raw sql queries with deno jsr:@db/sqlite ?) (or maybe should it not use sqlite at all?)
- indexing:
- the meta framework of the parsing incoming data is kinda done (good enough for MVP but i would like more indexing provenance)
- but the actual logic for index handling to the db is not done
- registration:
- user registration is not there yet, the wrapper around listRecords exists though (for onboarding/backfill)
- XRPC Server:
- setup is done, just need to actually implement all 80+ routes
- got auth working recently but havent hooked up the validator to the xrpc method/route handler so it can access who requested it
there is still a lot of design work i havent done regarding stuff like:
- moderation
- indexing provenance
- registration/unregistration APIs
- cross instance backfills/viewing
- also im pretty sure im not listening to all of the app.bsky.* records that i should be listening to but i havent re checked it even though i already imported the entire lexicon directory from the bsky atproto git repo but i just havent checked yet
- and more
still very early this does not run on any bsky clients yet practically none of the api routes have been implemented yet