A Miiverse-themed Bluesky client
0

Configure Feed

Select the types of activity you want to include in your feed.

Vue 82.5%
TypeScript 16.2%
SCSS 0.8%
JavaScript 0.4%
Other 0.1%
3 1 0

Clone this repository

https://git.vm.fail/nornoe.bsky.social/skyverse.social https://git.vm.fail/did:plc:pktnn7grrqyy65y7ru3czgcn
ssh://git@knot1.tangled.sh:2222/nornoe.bsky.social/skyverse.social ssh://git@knot1.tangled.sh:2222/did:plc:pktnn7grrqyy65y7ru3czgcn

For self-hosted knots, clone URLs may differ based on your setup.


README.md

Skyverse#

A Bluesky client inspired by Nintendo's Miiverse.

The project works, but is still under construction.

The client can be found at this URL : https://skyverse.social

Run the project#

This project runs on Nuxt 3 (TODO upgrade to Nuxt 4).

Install the dependencies#

bun i

Lauch the project in local#

bun dev

This will launch the project on localhost:3000 by default.

Quick tour of the project's structure#

Components#

All the reusable components that can be implemented into our pages.

Every components contains the html, css and js logic on the same .vue file.

<script> must be in Typescript.

<style> must be in scss.

Pages#

All the pages can be found in the /pages directory.

Every pages contains the html, css and js logic on the same .vue file.

<script> must be in Typescript.

<style> must be in scss.

Composables#

All the reusable functions can be found in the /composables directory.

The files starting with useBsky usually communicate with the ATProto API and can be used in our views.

The most important one is useBskyClient.ts which selects the client depending on the context (logged in or not) and handles the session refresh. It must be called in any composable that tries to communicate with the ATProto.

The other files are utilitary functions for the project.

Server#

The nitro server is currently only used to log in the user using the route login.post.ts.

TODO : make a route for every call to the ATProto API, and make the composables call theses routes instead.

Things to add / improve#

(This list is still under construction, feel free to give any suggestions)

  • Improve login to allow third party PDSes
  • Add OAuth
  • Improve the post composer and the drawing mechanic