Skip to content

Commit e7d604e

Browse files
authored
Merge pull request #32 from ilindan-dev/fix/frontend-static
feat: setup static file serving for frontend (css, js)
2 parents fb1142a + 00523d1 commit e7d604e

5 files changed

Lines changed: 17 additions & 13 deletions

File tree

.github/workflows/lint-go.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ jobs:
1818
check-latest: true
1919

2020
- name: Run golangci-lint
21-
uses: golangci/golangci-lint-action@v6
21+
uses: golangci/golangci-lint-action@v9
2222
with:
2323
working-directory: ./backend

Dockerfile.backend

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@ RUN cmake -B /app/algorithm/build -S /app/algorithm && \
2121
#2. Build the Go binary (enable CGO)
2222
WORKDIR /app/backend
2323
RUN apt-get update && \
24-
apt-get install -y ca-certificates wget tar && \
25-
wget -qO- https://github.com/daulet/tokenizers/releases/download/v1.27.0/libtokenizers.linux-amd64.tar.gz | tar xvz -C /usr/lib/
24+
apt-get install -y ca-certificates wget tar
25+
26+
RUN wget -O- https://github.com/daulet/tokenizers/releases/download/v1.27.0/libtokenizers.linux-amd64.tar.gz | tar xvz -C /usr/lib/
2627

2728
RUN CGO_ENABLED=1 GOOS=linux go build -ldflags="-s -w" -o /app/bin/server ./cmd/server/main.go
2829

backend/cmd/server/main.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ func main() {
7474

7575
cardRepo := repository.NewPgCardRepository(queries, &logger)
7676
algoEngine := algorithm.NewSM2Engine()
77-
embeder, err := tokenizer.NewOnnxEmbedder(cfg.TokenizerPath, cfg.ONNXModelPath, cfg.ONNXLibraryPath, &logger)
77+
embeder, err := tokenizer.NewOnnxEmbedder(cfg.Embeder.TokenizerPath, cfg.Embeder.ONNXModelPath,
78+
cfg.Embeder.ONNXLibraryPath, &logger)
7879
if err != nil {
7980
logger.Fatal().Err(err).Msg("Failed to create embedded tokenizer")
8081
}
@@ -85,7 +86,7 @@ func main() {
8586

8687
srv := &nhttp.Server{
8788
Addr: ":" + cfg.HTTP.Port,
88-
Handler: cardHandler.InitRoutes(cfg.GinMode),
89+
Handler: cardHandler.InitRoutes(cfg.HTTP.GinMode),
8990
ReadTimeout: cfg.HTTP.Timeout,
9091
}
9192

backend/internal/config/config.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,33 +7,33 @@ import (
77
"github.com/ilyakaznacheev/cleanenv"
88
)
99

10-
type HTTP struct {
10+
type HTTPConfig struct {
1111
Port string `yaml:"port" env:"HTTP_PORT" env-default:"8080"`
1212
Timeout time.Duration `yaml:"timeout" env:"API_TIMEOUT" env-default:"5s"`
1313
GinMode string `yaml:"gin_mode" env:"GIN_MODE" env-default:"debug"`
1414
}
1515

16-
type Log struct {
16+
type LogConfig struct {
1717
Level string `env-default:"info" yaml:"log_level" env:"LOG_LEVEL"`
1818
}
1919

20-
type DB struct {
20+
type DBConfig struct {
2121
URL string `env:"DATABASE_URL" env-required:"true"`
2222
MaxConns int32 `yaml:"max_conns" env:"DB_MAX_CONNS" env-default:"10"`
2323
MinConns int32 `yaml:"min_conns" env:"DB_MIN_CONNS" env-default:"2"`
2424
}
2525

26-
type Embeder struct {
26+
type EmbederConfig struct {
2727
TokenizerPath string `yaml:"tokenizer_path" env:"TOKENIZER_PATH" env-default:"/app/models/tokenizer.json"`
2828
ONNXModelPath string `yaml:"onnx_model_path" env:"ONNX_MODEL_PATH" env-default:"/app/models/model.onnx"`
2929
ONNXLibraryPath string `yaml:"onnx_library_path" env:"ONNX_LIBRARY_PATH" env-default:"/usr/local/lib/libonnxruntime.so"`
3030
}
3131

3232
type Config struct {
33-
HTTP `yaml:"http"`
34-
Log `yaml:"logger"`
35-
DB `yaml:"postgres"`
36-
Embeder `yaml:"embeder"`
33+
HTTP HTTPConfig `yaml:"http"`
34+
Log LogConfig `yaml:"logger"`
35+
DB DBConfig `yaml:"postgres"`
36+
Embeder EmbederConfig `yaml:"embeder"`
3737
}
3838

3939
func NewConfig() (*Config, error) {

backend/internal/http/router.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ func (h *CardHandler) InitRoutes(ginMode string) *gin.Engine {
3232
router.Use(gin.Recovery())
3333

3434
router.StaticFile("/", "./frontend/index.html")
35+
router.Static("/css", "./frontend/css")
36+
router.Static("/js", "./frontend/js")
3537

3638
card := router.Group("/api/v1/cards")
3739
card.GET("/review", h.GetReviewBatch)

0 commit comments

Comments
 (0)