Skip to content

Stack Tecnológica e Configuração

Esta página descreve a stack tecnológica e as instruções de configuração para a Gami API.


Stack Tecnológica

ComponenteTecnologia
RuntimeNode.js (TypeScript)
FrameworkFastify
Base de DadosPostgreSQL
ORMPrisma
ValidaçãoZod
DocumentaçãoSwagger / OpenAPI
ContainerizaçãoDocker & Docker Compose

Pré-requisitos

  • Node.js v18+
  • Docker & Docker Compose

Variáveis de Ambiente

Crie um ficheiro .env no diretório raiz:

env
DATABASE_URL="postgresql://user:password@localhost:5432/gamibot?schema=public"

Instalação

Docker (Recomendado)

Inicie a API e a base de dados PostgreSQL:

bash
docker-compose up -d --build

A API estará disponível em http://localhost:3000.

Desenvolvimento Local

  1. Instalar Dependências:

    bash
    npm install
  2. Executar Migrações:

    bash
    npx prisma generate
    npx prisma migrate dev
  3. Iniciar Servidor:

    bash
    npm run dev

Testes

O projeto usa Vitest para testes de integração:

bash
npm test

Suites de Teste

SuiteCobertura
Testes de XPXP atribuído corretamente com base nas pontuações
Testes de TópicosProgresso calculado com precisão
Testes de CrachásTodos os crachás atribuídos quando as condições são cumpridas
Testes de StatsAgregação de estatísticas e inicialização

Próximos Passos

Released under the MIT License.