54 lines
1.4 KiB
Markdown
54 lines
1.4 KiB
Markdown
# 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](###lit-web-components))
|
|
- Backend
|
|
- App
|
|
- Asset Handler
|
|
- Logging
|
|
- System
|
|
- Player
|
|
- Library
|
|
- Config
|
|
- Database
|
|
- Queries (see [sqlc](###sqlc))
|
|
|
|
## 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](https://wails.io)
|
|
|
|
Used to create desktop apps with Go and web technologies.
|
|
|
|
### [SQLite](https://github.com/mattn/go-sqlite3?tab=readme-ov-file#go-sqlite3)
|
|
|
|
Used for local database.
|
|
|
|
### [sqlc](https://sqlc.dev/)
|
|
|
|
Used to generate Go code from SQL.
|
|
|
|
### [Templ](https://templ.guide/)
|
|
|
|
Used to generate HTML templates with Go code.
|
|
|
|
### [Beep](https://github.com/TheCodeOfCaleb/beep/v2?tab=readme-ov-file#beep)
|
|
|
|
Used for audio playback.
|
|
|
|
### [Lit Web Components](https://lit.dev/)
|
|
|
|
Used for dynamic/reactive frontend components.
|
|
|
|
### [HTMX](https://htmx.org/)
|
|
|
|
Used for requesting HTML fragments from the backend and rendering them on the frontend.
|