- Cria README.md na raiz com visão global e diagrama de arquitetura - Adiciona/atualiza README.md em todos os componentes: - backend (API Go) - backoffice (NestJS) - marketplace (React/Vite) - saveinmed-bff (Python/FastAPI) - saveinmed-frontend (Next.js) - website (Fresh/Deno) - Atualiza .gitignore em todos os componentes com regras abrangentes - Cria .gitignore na raiz do projeto - Renomeia pastas para melhor organização: - backend-go → backend - backend-nest → backoffice - marketplace-front → marketplace - Documenta arquitetura, tecnologias, setup e fluxo de desenvolvimento
43 lines
953 B
Go
43 lines
953 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
"os"
|
|
"os/signal"
|
|
"syscall"
|
|
|
|
_ "github.com/jackc/pgx/v5/stdlib"
|
|
|
|
"github.com/saveinmed/backend-go/docs"
|
|
"github.com/saveinmed/backend-go/internal/config"
|
|
"github.com/saveinmed/backend-go/internal/server"
|
|
)
|
|
|
|
// @title SaveInMed Performance Core API
|
|
// @version 1.0
|
|
// @description API REST B2B para marketplace farmacêutico com split de pagamento e rastreabilidade.
|
|
// @BasePath /
|
|
// @Schemes http
|
|
// @contact.name Engenharia SaveInMed
|
|
// @contact.email devops@saveinmed.com
|
|
func main() {
|
|
cfg := config.Load()
|
|
|
|
// swagger metadata overrides
|
|
docs.SwaggerInfo.Title = cfg.AppName
|
|
docs.SwaggerInfo.BasePath = "/"
|
|
|
|
srv, err := server.New(cfg)
|
|
if err != nil {
|
|
log.Fatalf("boot failure: %v", err)
|
|
}
|
|
|
|
ctx, stop := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM)
|
|
defer stop()
|
|
|
|
if err := srv.Start(ctx); err != nil {
|
|
log.Printf("server stopped: %v", err)
|
|
os.Exit(1)
|
|
}
|
|
}
|