backend-server-v2/README.md

2.1 KiB

GoFiber MVC Boilerplate

Boilerplate GoFiber MVC + HTMX + Flowbite + GORM, con auth server-rendered, area private/admin e mail sink in sviluppo.

Setup Assets + Server

Terminale 1:

npm i
make assets
make tw-watch

Terminale 2:

make server

make assets esegue:

  • copia di node_modules/flowbite/dist/flowbite.min.js in web/static/vendor/flowbite.js
  • build Tailwind in web/static/css/app.css

Dark mode globale:

  • toggle nel footer su tutte le pagine
  • preferenza persistente in localStorage con chiave theme (dark/light)
  • fallback automatico a prefers-color-scheme quando non c'e una preferenza salvata

Quickstart SQLite

cp .env.example .env
npm i
make assets
make server

Default SQLite path: ./data/app.sqlite3.

Comandi utili:

make test
make fmt
make db-reset

Quickstart Postgres (Docker Compose)

docker compose up -d
cp .env.example .env

Configura .env così:

DB_DRIVER=postgres
DB_PG_DSN=postgres://trustcontact:trustcontact@localhost:5432/trustcontact?sslmode=disable

DB_POSTGRES_DSN è comunque supportato.

Template Directories

  • Public: web/templates/public
  • Private: web/templates/private
  • Admin: web/templates/admin

Email in Develop

In develop, le email vengono salvate in ./data/emails.

Make Targets

  • make tw-build -> build Tailwind CSS
  • make tw-watch -> watch Tailwind CSS
  • make flowbite-copy -> copia node_modules/flowbite/dist/flowbite.min.js in web/static/vendor/flowbite.js
  • make assets -> flowbite-copy + tw-build
  • make server -> go run ./cmd/server
  • make test -> go test ./...
  • make db-reset -> reset DB sqlite locale (./data/app.db / ./data/app.sqlite3)
  • make fmt -> gofmt su cmd/ e internal/

Third-Party Notices

This project uses third-party software distributed under the MIT License.

Flowbite

Tailwind CSS