Nocs-lab / inbcm-backend

1 stars 0 forks source link

BACKEND - INBCM

API REST para o Inventário Nacional de Bens Culturais Musealizados (INBCM)

Status

Sobre o projeto

A API REST para o Inventário Nacional de Bens Culturais Musealizados (INBCM) é parte do sistema que visa construir a plataforma do Inventário Nacional de Bens Culturais Musealizados, uma iniciativa que busca catalogar, documentar e preservar o patrimônio cultural do Brasil. Este repositório contém o backend da plataforma, responsável por fornecer os serviços necessários para gerenciar e acessar as informações sobre os bens culturais musealizados em todo o país.

A plataforma do INBCM tem como objetivo principal centralizar e facilitar o acesso às informações sobre os bens culturais musealizados, permitindo que instituições, pesquisadores e o público em geral possam consultar e contribuir para a preservação desse importante patrimônio cultural.

Funcionalidades Principais

Tecnologias Utilizadas

Pré requisitos para execução do projeto:

Docker:

Certifique-se de ter o Docker e o Docker Compose instalados em seu sistema. Você pode encontrar instruções de instalação nos sites oficiais:

Pnpm:

Certifique-se de ter o pnpm instalado em seu sistema. O pnpm é um gerenciador de pacotes rápido, eficiente e economiza espaço em disco ao compartilhar pacotes entre projetos. Você pode instalar o pnpm globalmente usando o npm com o seguinte comando:

  npm install -g pnpm

Configuração do projeto:

Depois de instalar todas as ferramentas necessárias, você está pronto para executar a API do Inventário Nacional de Bens Culturais Musealizados (INBCM). Siga as etapas abaixo para iniciar o servidor e começar a usar a API:

1. Clonando o Repositório

Clone o repositório do projeto para o seu ambiente de desenvolvimento. Você pode fazer isso usando o Git com o seguinte comando:

  git clone  https://github.com/Nocs-lab/inbcm-backend-upload.git

2. Instalando as Dependências

Navegue até o diretório do projeto clonado e instale todas as dependências do Node.js usando o pnpm. Isso pode ser feito com o seguinte comando:

cd inbcm-backend
pnpm install

3.Configurando o Arquivo .env

Dentro do diretório inbcm-backend,crie um arquivo .env para configurar as variáveis de ambiente. Abaixo,visualize o template desse arquivo.

DB_USER=
DB_PASS=
KEYCLOAK_DB_PASSWORD=
DB_URL=
QUEUE_URL=
JWT_SECRET=
PUBLIC_SITE_URL="https://localhost:5174"
ADMIN_SITE_URL="https://localhost:5173"

Executando a API:

Dentro do diretório do projeto,siga os seguintes passos:

Inicializando o docker:

Dentro do diretório inbcm_backend,execute:

  pnpm run start:docker:dev

Criando mocks de usuários e museus:

  pnpm run create:data

Criando mock para usuários admins:

  pnpm run create:admin-user

Inicializando os serviços:

  pnpm run dev

Acessando o database:

Para acessar o mongo-express e visualizar esquema de documentos,bem como os dados persistidos,acesse localhost:8081,passando as seguintes credenciais :

  user: admin
  pwd: admin

Rodando os testes com jest:

Para rodar os testes unitários e testes de feature:

  pnpm jest

Para verificar a cobertura de testes:

  pnpm jest --coverage

Contribuições e Pull Requests

Para contribuir com esse projeto, crie uma branch ramificada de 'development',registre suas alterações,suba essa branch para repositório remoto e crie um pull request.

Revisão e Aprovação

Depois de criar o seu Pull Request, um dos mantenedores do projeto revisará suas alterações. Eles podem pedir modificações ou melhorias antes de aceitar o PR. Siga as orientações e faça os ajustes necessários. Assim que todas as revisões forem resolvidas e o PR for aprovado, suas alterações serão mescladas na branch principal do repositório.