From bdce29a129078d9d322847eb8ff215ca11e0faad Mon Sep 17 00:00:00 2001 From: Mitsu <124433727+Mizuw@users.noreply.github.com> Date: Mon, 7 Jul 2025 22:10:10 +0200 Subject: [PATCH] QoL: Revamp project structure --- Makefile | 12 ++++++++++++ client/README.md | 0 .../globals => cmd/internal/config}/config.go | 2 +- cmd/internal/db/connection.go | 17 +++++++++++++++++ cmd/internal/db/utils.go | 1 + .../internal/http/server.go | 9 +++++---- .../loggers.go => cmd/internal/logger/logger.go | 8 +++++--- cmd/server/main.go | 16 ++++++++++++++++ .../config.json.example => config.json.example | 0 server/go.mod => go.mod | 0 server/go.sum => go.sum | 0 server/README.md | 0 server/database/connection.go | 17 ----------------- server/database/utils.go | 1 - server/main.go | 15 --------------- 15 files changed, 57 insertions(+), 41 deletions(-) create mode 100644 Makefile delete mode 100644 client/README.md rename {server/globals => cmd/internal/config}/config.go (97%) create mode 100644 cmd/internal/db/connection.go create mode 100644 cmd/internal/db/utils.go rename server/http/http_server.go => cmd/internal/http/server.go (71%) rename server/globals/loggers.go => cmd/internal/logger/logger.go (83%) create mode 100644 cmd/server/main.go rename server/config.json.example => config.json.example (100%) rename server/go.mod => go.mod (100%) rename server/go.sum => go.sum (100%) delete mode 100644 server/README.md delete mode 100644 server/database/connection.go delete mode 100644 server/database/utils.go delete mode 100644 server/main.go diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6bb7363 --- /dev/null +++ b/Makefile @@ -0,0 +1,12 @@ +BINARY_NAME=lucerna + +build: + go build -o ${BINARY_NAME} ./cmd/server + +run: + go run ./cmd/server/ + +clean: + rm -f ${BINARY_NAME} + rm -rf logs/ + go mod tidy \ No newline at end of file diff --git a/client/README.md b/client/README.md deleted file mode 100644 index e69de29..0000000 diff --git a/server/globals/config.go b/cmd/internal/config/config.go similarity index 97% rename from server/globals/config.go rename to cmd/internal/config/config.go index c742c67..c83ea44 100644 --- a/server/globals/config.go +++ b/cmd/internal/config/config.go @@ -1,4 +1,4 @@ -package globals +package config import ( "encoding/json" diff --git a/cmd/internal/db/connection.go b/cmd/internal/db/connection.go new file mode 100644 index 0000000..f8f7ee7 --- /dev/null +++ b/cmd/internal/db/connection.go @@ -0,0 +1,17 @@ +package db + +import ( + "database/sql" + + _ "github.com/mattn/go-sqlite3" + "github.com/mizuw/laterna/server/cmd/internal/logger" +) + +func ConnectDB() { + db, err := sql.Open("sqlite3", "./db.sql") + if err != nil { + logger.DBLogger.Printf("An Error occured while connecting to the database: %v", err) + } + logger.DBLogger.Printf("Connected") + defer db.Close() +} diff --git a/cmd/internal/db/utils.go b/cmd/internal/db/utils.go new file mode 100644 index 0000000..3a49c63 --- /dev/null +++ b/cmd/internal/db/utils.go @@ -0,0 +1 @@ +package db diff --git a/server/http/http_server.go b/cmd/internal/http/server.go similarity index 71% rename from server/http/http_server.go rename to cmd/internal/http/server.go index 021feaf..68b5158 100644 --- a/server/http/http_server.go +++ b/cmd/internal/http/server.go @@ -4,7 +4,8 @@ import ( "fmt" "net/http" - "github.com/mizuw/laterna/server/globals" + "github.com/mizuw/laterna/server/cmd/internal/config" + "github.com/mizuw/laterna/server/cmd/internal/logger" ) func StartHTTPServer() { @@ -12,14 +13,14 @@ func StartHTTPServer() { router.HandleFunc("GET /api/v1/admin/token/new", createToken) - port := globals.AppConfig.HTTP.Port - globals.HTTPLogger.Printf("HTTP Server running on :%v", port) + port := config.AppConfig.HTTP.Port + logger.HTTPLogger.Printf("HTTP Server running on :%v", port) http.ListenAndServe(fmt.Sprintf(":%d", port), router) } func createToken(w http.ResponseWriter, r *http.Request) { authHeader := r.Header.Get("Authorization") - adminToken := globals.AppConfig.HTTP.AdminToken + adminToken := config.AppConfig.HTTP.AdminToken if authHeader == "" { http.Error(w, "Authorization header missing", http.StatusUnauthorized) diff --git a/server/globals/loggers.go b/cmd/internal/logger/logger.go similarity index 83% rename from server/globals/loggers.go rename to cmd/internal/logger/logger.go index 84e46dd..415d5f2 100644 --- a/server/globals/loggers.go +++ b/cmd/internal/logger/logger.go @@ -1,4 +1,4 @@ -package globals +package logger import ( "fmt" @@ -6,6 +6,8 @@ import ( "log" "os" "time" + + "github.com/mizuw/laterna/server/cmd/internal/config" ) var ( @@ -17,7 +19,7 @@ var ( func InitLoggers() { var logOutput io.Writer = os.Stdout - if AppConfig.FileLogging { + if config.AppConfig.FileLogging { os.Mkdir("logs", os.ModePerm) @@ -33,7 +35,7 @@ func InitLoggers() { log.SetOutput(logOutput) } - if AppConfig.VerboseLogging { + if config.AppConfig.VerboseLogging { flags = log.Ldate | log.Ltime | log.Lshortfile } diff --git a/cmd/server/main.go b/cmd/server/main.go new file mode 100644 index 0000000..f14f0da --- /dev/null +++ b/cmd/server/main.go @@ -0,0 +1,16 @@ +package main + +import ( + "github.com/mizuw/laterna/server/cmd/internal/config" + "github.com/mizuw/laterna/server/cmd/internal/db" + "github.com/mizuw/laterna/server/cmd/internal/http" + "github.com/mizuw/laterna/server/cmd/internal/logger" +) + +func main() { + config.AppConfig = config.LoadConfig("config.json") + logger.InitLoggers() + + go db.ConnectDB() + http.StartHTTPServer() +} diff --git a/server/config.json.example b/config.json.example similarity index 100% rename from server/config.json.example rename to config.json.example diff --git a/server/go.mod b/go.mod similarity index 100% rename from server/go.mod rename to go.mod diff --git a/server/go.sum b/go.sum similarity index 100% rename from server/go.sum rename to go.sum diff --git a/server/README.md b/server/README.md deleted file mode 100644 index e69de29..0000000 diff --git a/server/database/connection.go b/server/database/connection.go deleted file mode 100644 index 9e14d67..0000000 --- a/server/database/connection.go +++ /dev/null @@ -1,17 +0,0 @@ -package database - -import ( - "database/sql" - - _ "github.com/mattn/go-sqlite3" - "github.com/mizuw/laterna/server/globals" -) - -func ConnectDB() { - db, err := sql.Open("sqlite3", "./db.sql") - if err != nil { - globals.DBLogger.Printf("An Error occured while connecting to the database: %v", err) - } - globals.DBLogger.Printf("Connected") - defer db.Close() -} diff --git a/server/database/utils.go b/server/database/utils.go deleted file mode 100644 index 636bab8..0000000 --- a/server/database/utils.go +++ /dev/null @@ -1 +0,0 @@ -package database diff --git a/server/main.go b/server/main.go deleted file mode 100644 index 95d2be3..0000000 --- a/server/main.go +++ /dev/null @@ -1,15 +0,0 @@ -package main - -import ( - "github.com/mizuw/laterna/server/database" - "github.com/mizuw/laterna/server/globals" - "github.com/mizuw/laterna/server/http" -) - -func main() { - globals.AppConfig = globals.LoadConfig("config.jsonc") - globals.InitLoggers() - - go database.ConnectDB() - http.StartHTTPServer() -}