Skip to content

Latest commit

 

History

History
47 lines (31 loc) · 1.72 KB

README.md

File metadata and controls

47 lines (31 loc) · 1.72 KB

Back

O serviço de backend serve a API de entrada, criando ponte entre o Frontend, o serviço gerador de yaml e os serviços terciários de persistência (pg, redis, aws/localstack, etc).

Hierarquia

A hierarquia de arquivos segue o seguinte padrão:

  • adapters: Conversores de dados internos para uso em serviços externos.
  • controllers: Ponte entre a lógica de negócios, serviços externos, adaptadores, e outros.
  • db: Helpers de execução de queries no banco de dados.
  • interceptors: Helpers executados antes/depois de requests.
  • logic: Lógica de negócio.
  • ports: Declaração dos requests.
  • schemas: Declaração dos tipos de models para coercing.

Como rodar localmente

Docker

Caso não tenha uppado antes, volte às instruções dos containers do Docker e rode-os antes.

PostgreSQL

O ambiente de desenvolvimento utiliza-se do pg-embedded-clj, criando uma instância in-memory do Postgres. Caso você não esteja no ambiente dev e já tenha uppado o container do PG, você precisará fazer a seguinte migração:

clj -M:migratus migrate

Veja mais sobre como usar migratus aqui.

REPL

Abra um servidor nrepl:

clj -M:back-dev:nrepl # dev
# clj -M:nrepl

Após aberto, conecte seu editor de código ao nrepl e rode o seguinte:

(in-ns 'back.api.server)
(start-system-dev! (build-system-map))