Skip to content

olrafa/cazul-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plataforma Cazul — Servidor (API / Backend)

A Cazul é a primeira plataforma brasileira a reunir informação sobre o Carbono Azul e seus benefícios para as comunidades e os manguezais.

Este repositório contém o servidor/backend da plataforma Cazul, responsável por expor os dados via API para o site público (frontend) e para outros consumidores autorizados.
O frontend (site público) e o CMS (Sanity) ficam em repositórios separados.

Sobre o projeto

  • Nome: Plataforma Cazul
  • Tema: Carbono Azul e manguezais no Brasil
  • Realização: Guardiões do Mar
  • Patrocínio: Fundação o Boticário
  • Ano de criação: 2024

O que este repositório faz

Este projeto implementa o servidor / API da Cazul, que tem como objetivo centralizar e servir dados relacionados a Carbono Azul, manguezais e conteúdos da plataforma. Ele é responsável por fornecer dados para o mapa interativo do site (estoques de carbono, extensão de manguezais, população, etc.).

Arquitetura geral (visão de alto nível)

O ecossistema da Cazul é organizado em três partes:

  1. Frontend (site público) — Aplicação web em Next.js, responsável pela interface com o usuário final (repositório separado).
  2. CMS (Sanity) — Painel de gestão de conteúdo, onde são cadastrados textos, novidades e outros conteúdos editoriais (repositório separado).
  3. Servidor / API (este repositório) — Camada de backend que centraliza a lógica de negócio e o acesso a dados, servindo informações para o frontend.

Como usar este repositório

Requisitos

  • Node.js (versão LTS recomendada)
  • npm (ou outro gerenciador de pacotes compatível)
  • PostgreSQL acessível a partir do servidor

Configuração de variáveis de ambiente

Crie um arquivo .env na raiz do projeto (ou configure variáveis no ambiente) com, pelo menos, os seguintes valores:

  • DB_HOST: host do banco PostgreSQL
  • DB_PORT: porta do banco (ex.: 5432)
  • DB_USER: usuário do banco
  • DB_PASSWORD: senha do banco
  • DB_DATABASE: nome do banco da Cazul
  • API_KEY: chave usada para autenticação via header Authorization: Bearer <API_KEY>
  • port: porta HTTP em que a API será exposta (opcional, padrão 3002)

Instalação

Na raiz do projeto:

npm install

Ambiente de desenvolvimento

Para subir o servidor em modo de desenvolvimento (com nodemon e ts-node):

npm run dev

Por padrão, a API ficará disponível em http://localhost:3002 (ou na porta definida na variável de ambiente port).

Build e execução

Para gerar o build em JavaScript a partir do código TypeScript:

npm run build

Para executar o servidor (usando ts-node diretamente):

npm start

O modo exato de deploy em produção (uso do build, containers, orquestração etc.) depende da infraestrutura onde a Cazul está hospedada.

Scripts disponíveis

  • npm start: inicia o servidor usando ts-node (src/index.ts).
  • npm run dev: inicia o servidor em modo desenvolvimento com nodemon.
  • npm run build: compila o código TypeScript para JavaScript (tsc).
  • npm run prepare: instala hooks do Husky.

Licença e contato

Este projeto é licenciado sob os termos da MIT License.

About

Backend e API para a Plataforma Cazul

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors