1.4 KiB
Development Overview
YellowJacket is a moderately complex application. This document gives an overview of how development of it works.
Logical Breakdown
YellowJacket can be thought about in a heirarchy of logical modules and components. The borders of these logical sections are mostly represented in the code and directory structure as well.
- Frontend
- UI Components (see Lit)
- Backend
- App
- Asset Handler
- Logging
- System
- Player
- Library
- Config
- Database
- Queries (see sqlc)
- App
Dependencies
YellowJacket uses many tools and libraries to provide its functionality. This section lists each of these dependencies and explains how they are used.
Wails
Used to create desktop apps with Go and web technologies.
SQLite
Used for local database.
sqlc
Used to generate Go code from SQL.
Templ
Used to generate HTML templates with Go code.
Beep
Used for audio playback.
Lit Web Components
Used for dynamic/reactive frontend components.
HTMX
Used for requesting HTML fragments from the backend and rendering them on the frontend.