Gun-Vue tech stack
The project is structured as a monorepo with three main packages, each serving a specific purpose.
Composables (@gun-vue/composables)
Core functionality and data management:
- Gun.js Integration: Uses
gun(0.2020.1240) and@gun-vue/gun-esfor decentralized data - Utility Libraries:
@vueuse/core,@vueuse/integrations,@vueuse/mathfor Vue composition utilitiesmarkdown-itfor Markdown processing with external links supportwebtorrentfor P2P file sharingrecordrtcfor recording capabilitiesjszipfor file compressionfuse.jsfor fuzzy search
- Helper Libraries:
curved-arrowsfor visual connectionsdrauufor drawing capabilitiesgun-avatarfor user avatarsqrcodefor QR code generation
Components (@gun-vue/components)
UI and visualization layer:
- UI Framework: Built with Vue 3
- Styling: Uses
unocsswith Pug templating - Interactive Elements:
floating-vuefor tooltips and popoversforce-graphfor network visualizationsvue3-virtual-scroll-listfor efficient list rendering@vueuse/gesturefor touch interactions@vueuse/soundfor audio feedback
- Formatting:
@coders-tm/vue-number-formatfor number formatting - QR Code:
jsqrfor QR code scanning
App (@gun-vue/app)
Application shell and routing:
- Core: Built with Vue 3
- Routing:
vue-routerfor page navigation - Development:
vite-plugin-pages-sitemapfor sitemap generationvite-plugin-singlefilefor single-file builds
- UI: Uses
unocssfor styling - Animation:
olafor smooth animations
Development Tools
- Vite - Next Generation Frontend Tooling
- pnpm workspaces - Monorepo management
- TypeDoc - Documentation generation