yonash.dev is a SPA app powered by a simple server-side rendering Go service
Backend:
- Go web server
- templ for template generation
Frontend:
- HTMX + TailwindCSS
Project structure follows golang-standards/project-layout
.
├── cmd/ -- app entrypoints
│ └── cmd/server/main.go -- server main entrypoint
└── internal/ -- internal packaged
└── web/ -- static web assets, server side templates
├── assets/
├── static/
└── templates/ -- go templ components
└── content/ -- content data for pages
❗️ Please make sure that you have installed the executable files for all the necessary tools before starting your project. Exactly:
Templ
: https://github.com/a-h/templgolangci-lint
: https://github.com/golangci/golangci-lint
To start your project, run the makefile command in your terminal:
make run
The backend part is located in the *.go
files in your project folder.
The ./internal/web/templates
folder contains Templ templates that you can use in your frontend part. Also, the ./internal/web/assets
folder contains the styles.scss
(main styles) and scripts.js
(main scripts) files.
The ./internal/web/static
folder contains all the static files: icons, images, PWA (Progressive Web App) manifest and other builded/minified assets.
To tests CDN run the program with CDN_URL
parameter.