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.
website/README.md

2.2 KiB

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 ammistratori 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