Skip to content

Fry3G/BlogEngine

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BlogEngine

BlogEngine è un motore di blog scritto in Go, con un frontend semplice in HTML/CSS.
L’idea è avere qualcosa di leggero, facile da capire e modificare, senza mille dipendenze.


✨ Cosa fa

  • Serve pagine blog scritte in Go
  • Ha un frontend con due temi: chiaro e scuro
  • C’è un pulsante per cambiare tema al volo
  • Valida i dati inseriti nei form (es. per creare post)
  • Salva tutto in un database SQLite (nessuna configurazione extra necessaria)

🧠 Tecnologie usate

Backend (Go)

Il backend è scritto in Go usando librerie standard + alcune esterne:

  • html/template: per generare HTML dinamico
  • net/http: server web base
  • strconv, time: utility varie
  • chi: router leggero e modulare
  • validator: validazione dei dati
  • gorm: ORM per interagire con il database
  • modernc.org/sqlite: driver SQLite che funziona senza CGO

⚠️ Per far funzionare modernc.org/sqlite, è richiesto un compilatore C (gcc).


Frontend

  • HTML + CSS puro
  • Due temi: style.css (chiaro) e dark.css (scuro)
  • Toggle del tema gestito da theme-toggle.js

⚙️ Requisiti

  • Go 1.18 o superiore
  • Compilatore C (gcc)
    • Su Windows si consiglia MSYS2:
      pacman -S mingw-w64-x86_64-gcc

🚀 Come si usa

Clona il progetto, installa le dipendenze e avvia il server:

git clone https://github.com/D13GOOOO/BlogEngine.git
cd BlogEngine
go mod tidy      # per scaricare tutte le dipendenze

Avviare, spegnere e riavviare il server con blogctl

Nel progetto è incluso un comando a riga di comando chiamato blogctl, che ti permette di gestire facilmente il server.

  1. Avviare il server:

    blogctl start
  2. Spegnere il server:

    blogctl shutdown
  3. Riavviare il server:

    blogctl restart
  4. Cancellare il database

    blogctl dbreset
  5. Effettuare un backup del database

    blogctl backup

Il comando blogctl start avvia il server in una nuova finestra del terminale su Windows e in background su Linux/macOS, mentre shutdown e restart fermano il server in esecuzione.


🐞 Risoluzione dei problemi

Se il comando blogctl non funziona correttamente, assicurati di avere Go installato correttamente, e che il file cli.go sia stato compilato come eseguibile. Se non è stato compilato, puoi farlo con:

go build cli.go

Il comando blogctl sarà quindi disponibile come eseguibile nel tuo terminale.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Go 52.0%
  • CSS 25.0%
  • HTML 19.4%
  • JavaScript 3.6%