feat: project setup

This commit is contained in:
darwincereska
2026-01-05 16:56:38 -05:00
parent b6107c7c06
commit 40f8a64a49
38 changed files with 350 additions and 0 deletions

8
config/CONFIG.md Normal file
View File

@@ -0,0 +1,8 @@
# CONFIG
- **server** `Server Configuration`
- config.go
- env.go
- **frontend** `Client Configuration`
- config.go
- env.go

View File

@@ -0,0 +1 @@
package frontend

1
config/frontend/env.go Normal file
View File

@@ -0,0 +1 @@
package frontend

62
config/server/config.go Normal file
View File

@@ -0,0 +1,62 @@
package server
import (
// "log"
"speakeasy/utils/env"
"time"
)
var (
VERSION = "dev"
BUILD_TIME = time.Now()
)
// ServerConfig is a configuration model for the backend
type ServerConfig struct {
PG_HOST string
PG_USER string
PG_PASSWORD string
RABBITMQ_HOST string
RABBITMQ_USER string
RABBITMQ_PASSWORD string
OLLAMA_HOST string
OLLAMA_MODEL_ACCURACY string
SERVER_HOST string
SERVER_PORT int
CLIENT_HOST string
CLIENT_PORT int
VERSION string
BUILD_TIME time.Time
}
// ModelAccuracy is a configuration option for the Ollama Model Manager
type ModelAccuracy string
const (
FAST ModelAccuracy = "FAST" // gemma:2b
BALANCED ModelAccuracy = "BALANCED" // phi3:mini
ACCURATE ModelAccuracy = "ACCURATE" // llama3.1:8b
)
// CreateNewConfig returns an empty server config
func CreateNewConfig() ServerConfig {
return ServerConfig{}
}
// LoadConfig loads config from environment variables
func (c *ServerConfig) LoadConfig() {
c.PG_HOST = env.GetString("PG_HOST", "localhost:8888")
c.PG_USER = env.GetString("PG_USER", "speakeasy")
c.PG_PASSWORD = env.GetString("PG_PASSWORD", "speakeasy")
c.RABBITMQ_HOST = env.GetString("RABBITMQ_HOST", "localhost:5672")
c.RABBITMQ_PASSWORD = env.GetString("RABBITMQ_PASSWORD", "speakeasy")
c.RABBITMQ_USER = env.GetString("RABBITMQ_USER", "speakeasy")
c.OLLAMA_HOST = env.GetString("OLLAMA_HOST", "localhost:11434")
c.OLLAMA_MODEL_ACCURACY = env.GetString("OLLAMA_MODEL_ACCURACY", "BALANCED")
c.SERVER_HOST = env.GetString("SERVER_HOST", "localhost")
c.SERVER_PORT = env.GetInt("SERVER_PORT", 3456)
c.CLIENT_HOST = env.GetString("CLIENT_HOST", "localhost")
c.CLIENT_PORT = env.GetInt("CLIENT_PORT", 3457)
c.VERSION = VERSION
c.BUILD_TIME = BUILD_TIME
}

1
config/server/env.go Normal file
View File

@@ -0,0 +1 @@
package server