1
0
Fork 0
Una dashboard web moderna per il cluster "steffe" per il progetto di calcolo parallelo del prof. Durastante
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Antonio De Lucreziis 64702636e6 Initial commit 2 years ago
backend Initial commit 2 years ago
cmd/server Initial commit 2 years ago
frontend Initial commit 2 years ago
meta Initial commit 2 years ago
.env.default Initial commit 2 years ago
.gitignore Initial commit 2 years ago
README.md Initial commit 2 years ago
go.mod Initial commit 2 years ago
go.sum Initial commit 2 years ago
package.json Initial commit 2 years ago
pnpm-lock.yaml Initial commit 2 years ago
vite.config.js Initial commit 2 years ago

README.md

Go Vite Kit

Minimal boilerplate project for a Golang server using Fiber and ViteJS for static pages

Features

Architecture

  • frontend/

    This is a Vite project for building all the static pages used by this app.

  • backend/

    This keeps all server related files

    • config/

      Loads env variables and keeps them as globals

    • database/

      Module with a Database interface and two implementation: memDB is an in-memory database for testing purposes. sqliteDB is a wrapper for working with an SQLite database.

    • routes/

      Various functions for configuring all the server routes.

      A very important file is backend/routes/router.go that contains the HtmlEntrypoints variable that is used both by the backend and ViteJS to mount HTML entrypoints.

      When building the frontend ViteJS will call go run ./meta/routes to read the content of the HtmlEntrypoints variable. This is also used while developing to let Vite know add all necessary entrypoints to the dev server.

Usage

To setup the project first install the required npm packages

# Install all JS dependencies
$ npm install

then you can start versioning the lock file of your package manager.

Development

# Development
$ MODE=dev go run -v ./cmd/server

# Development with watcher
$ fd -e go | MODE=dev entr -r go run -v ./cmd/server

Production

You can build everything with the following command, it will build first the frontend and then the backend and generate ./out/server.

# Build
$ go run -v ./cmd/build

# Run
$ ./out/server