feat: завершён этап 1 - Фундамент Core Service

- Удалены зависимости: grpc, redis, prometheus
- Упрощена конфигурация (Server, Database, JWT)
- Создан логгер на основе logrus
- Добавлено подключение к PostgreSQL
- Создана миграция с базовыми таблицами
- Обновлены модели с валидацией
- Создан базовый API сервер с health check
- Добавлен .env.example

Готово для этапа 2 - Аутентификация
This commit is contained in:
2025-08-27 14:40:48 +04:00
parent 725d4c4474
commit 9777114e16
10 changed files with 521 additions and 164 deletions

View File

@@ -0,0 +1,25 @@
package database
import (
"database/sql"
"fmt"
"erp-mvp/core-service/internal/config"
_ "github.com/lib/pq"
)
func Connect(cfg config.DatabaseConfig) (*sql.DB, error) {
dsn := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=%s",
cfg.Host, cfg.Port, cfg.User, cfg.Password, cfg.DBName, cfg.SSLMode)
db, err := sql.Open("postgres", dsn)
if err != nil {
return nil, fmt.Errorf("failed to open database: %w", err)
}
if err := db.Ping(); err != nil {
return nil, fmt.Errorf("failed to ping database: %w", err)
}
return db, nil
}