saveinmed/backend/cmd/api/main.go
Tiago Yamamoto 42f72f5f43 docs: adiciona documentação completa do projeto SaveInMed
- 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
2025-12-17 17:07:30 -03:00

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)
}
}