Project Structure
Root
.
├─ docs # documentations
├─ cmd # command-line tool
├─ app # app build with Vue 3
├─ resources # additional resources, not for build
├─ template # templates for nginx
├─ app.example.ini # example configuration file
├─ main.go # entry point for server
└─ ...
Documentations
.
├─ docs
│ ├─ .vitepress # configurations directory
│ │ ├─ config
│ │ └─ theme
│ ├─ public # resources
│ ├─ [language code] # translations, e.g. zh_CN, zh_TW
│ ├─ guide
│ │ └─ *.md # guide markdown files
│ └─ index.md # index markdown
└─ ...
Frontend
.
├─ app
│ ├─ public # public resources
│ ├─ src # source code
│ │ ├─ api # api to backend
│ │ ├─ assets # public assets
│ │ ├─ components # vue components
│ │ ├─ language # translations, use vue3-gettext
│ │ ├─ layouts # vue layouts
│ │ ├─ lib # librarys, such as helper
│ │ ├─ pinia # state management
│ │ ├─ routes # vue routes
│ │ ├─ views # vue views
│ │ ├─ gettext.ts # define translations
│ │ ├─ style.css # integrate taildwind
│ │ └─ ...
│ └─ ...
└─ ...
Backend
.
├─ internal # internal packages
├─ api # api for frontend
├─ model # models of database
├─ query # database query files generated by gen
├─ router # router and middleware
├─ settings # backend settings
├─ test # unit tests
├─ main.go # main program entry
└─ ...
Template
.
├─ template
│ ├─ block # template for Nginx block
│ ├─ conf # template for Nginx configuration
│ └─ template.go # embed template files to backend
└─ ...