Servizio per il nuovo sito del PHC
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.
 
 
 
 
Go to file
Antonio De Lucreziis 227619e5eb Still refactoring, better _frontend and _public structuring 2 years ago
_content/news Still refactoring, better _frontend and _public structuring 2 years ago
_docs/screenshots Big refactor 2 years ago
_frontend Still refactoring, better _frontend and _public structuring 2 years ago
_public Still refactoring, better _frontend and _public structuring 2 years ago
_views Big refactor 2 years ago
articles Refactor al nuovo nome del repo anche qua 3 years ago
auth Small auth module refactor 2 years ago
cmd/phc-website-server Still refactoring, better _frontend and _public structuring 2 years ago
config Big refactor 2 years ago
handler Big refactor 2 years ago
model Small auth module refactor 2 years ago
server Still refactoring, better _frontend and _public structuring 2 years ago
templates Big refactor 2 years ago
util Big refactor 2 years ago
.dockerignore Fixed dockerfile 2 years ago
.env.dev Working auth system 2 years ago
.gitignore Still refactoring, better _frontend and _public structuring 2 years ago
Dockerfile Still refactoring, better _frontend and _public structuring 2 years ago
Makefile Still refactoring, better _frontend and _public structuring 2 years ago
README.md Big refactor 2 years ago
go.mod Tidied go.mod 3 years ago
go.sum Dualcoding con @bachoseven per la pagina "/storia" più qualche miglioria 3 years ago
storia.go Big refactor 2 years ago
storia.json Alcune modifiche 2 years ago
utenti.go Big refactor 2 years ago

README.md

Nuovo Sito PHC

Repo del server del nuovo sito per il PHC.

Dipendenze

  • Golang

    • github.com/alecthomas/chroma

    • github.com/alecthomas/repr

    • github.com/go-chi/chi/v5

    • github.com/joho/godotenv

    • github.com/litao91/goldmark-mathjax

    • github.com/yuin/goldmark

    • github.com/yuin/goldmark-highlighting

    • gopkg.in/yaml.v3

  • NodeJS

    • AlpineJS

    • FuseJS

Setup

Per ottenere il progetto basta fare

$ git clone https://git.phc.dm.unipi.it/phc/website
$ cd frontend/
frontend/ $ npm install
frontend/ $ cd ..
$ make frontend

Development

Setup

Copiare il file .env.dev in .env per dire al server di lavorare in modalità di development e su quale indirizzo servire il sito, poi avviare il server.

$ cp .env.dev .env
$ go run .

Server

Un comando comodo in fase di development che usa entr è

$ find . -type f -name '*.go' | entr -r go run .
# O anche con fd...
$ fd -e go | entr -r go run .

Frontend

Se si sta anche modificando codice dentro frontend/, in contemporanea serve anche fare

$ make frontend
# O anche con un watcher...
$ fd -e js | entr make frontend

Environment Variables

  • MODE

    Può essere production (default) o development.

  • HOST

    Indirizzo (locale) sul quale servire il sito, di default è localhost:8000.

  • MAIL

    Indirizzo di posta elettronica per contattare gli amministratori del sito, che compare nel footer di ogni pagina.

  • <SERVIZIO>_URL

    Rappresentano link ad altri servizi forniti, è comodo impostarli per testare tutto in locale su varie porte (e poi in produzione i vari url diventano link a sotto-domini del sito principale).

    Per ora ci sono GIT_URL, CHAT_URL e USER_PAGES_BASE_URL.

Altri Servizi

Questo servizio dipende dal servizio di autenticazione per permettere agli utenti di autenticarsi usando vari meccanismi.

Il servizio di autenticazione di default girerà su localhost:3535 ed è documentato sulla repo auth-service