Skip to content

Repositório destinado ao Back-end do CAPJu, um sistema de controle e acompanhamento de processos da Justiça Federal.

License

Notifications You must be signed in to change notification settings

gustavofbs/2023-1-CAPJu-Services

 
 

Repository files navigation

CAPJu - Services

logo

Sobre o Projeto

O CAPJu é abreviação para "Controle e Acompanhamento de Processos da Justiça", no qual trata-se de uma projeto de código aberto que tem como objetivo ajudar os usuários da 4ª vara cível da Justiça Federal na realização de gerenciar os processos.

Este repositório contém o código-fonte do backend do projeto CAPJu, seguindo uma arquitetura de microserviços. Cada pasta neste repositório representa um serviço separado, permitindo a modularização e escalabilidade do sistema.

Tecnologias

Estrutura do repositório

  • Serviço de Usuário (User): Serviço destinado a oferecer funcionalidades robustas e escaláveis para gerenciar a autenticação, autorização, listagem e perfis dos usuários.
  • Serviço de Unidades (Unit):
  • Serviço de Email (Mailer):

Arquitetura

## Instalação

Configurando .env Global (Destinado para rodar o banco de dados no docker)

POSTGRES_DATABASE=
POSTGRES_PORT=
POSTRES_USER=
POSTGRES_PASSWORD=

Configurando .env do serviço

DB_NAME=
DB_HOST=
DB_USER=
DB_PASSWORD=
DB_DIALECT=
DB_PORT=
USER_URL_API=

NodeJs

Esse projeto conta com a versão 18 no NodeJs.

O Node Version Manager, mais comumente chamado de NVM, é a maneira mais popular de instalar várias versões do Nodejs. Essa tecnologia é recomendada para o desenvolvedor poder gerenciar diferentes versões do NodeJs conforme a necessidade do projeto.

Execute o projeto localmente

Por conter uma arquitetura de microserviços, é necessário rodar cada serviço separadamente conforme a necessidade de uso.

# Para rodar o projeto pela primeira vez basta executar o comando:

nvm use 18

# Esse comendo irá defirnir a versão de desenvolvimento do NodeJs como 18

npm install

# Esse comendo irá instalar as bibliotecas

npm start

# Esse comando irá subir o servidor ocupando a porta 8080.

Instalando Novas Dependecias

Pode ser utilizado o seguinte comando para inserir novas dependencias na aplicação:

npm install nome-da-dependencia

Criando banco de dados

É utilizado um sistema de migrations para mantermos o banco de dados sempre atualizado:

Obs: Para rodar os comandos listados abaixo, é necessário a criação prévia da base de dados que terá o mesmo nome da variável DB_NAME encontrada no .env.

Obs: Pra executar esses comandos, se faz necessário a instalação da sequelize-cli como pacote externo.

npm install -g sequelize-cli

# Esse comando irá instalar a sequelize-cli de maneira global e irá permitir que você rode comandos com o npx.
npm run migration OU npx sequelize-cli db:migrate

# Esse comando irá rodar as migrations criando as tabelas no seu banco da dados.

Caso seja necessário remover a última migration, pode ser usado esse comando:

npm run shred OU npx sequelize-cli db:migrate:undo

# Esse comando irá remover a última migration criada.

Formatação do código

A biblioteca Prettier é a ferramente utilizada para adicionar a formatação padrão de código, e pode ser aplicada com o seguinte comando:

npm run prettify

## Esse comando irá padronizar o estilo de código para o padrão estabelecido no projeto.

npm run check-format

## Esse comando irá verificar erros de sintaxe e possíveis melhorias.

Testes

npm run test

## Esse comando irá rodar os testes do serviço escolhido.

Deployment

GitHub Actions.

Contribuição

Certifique-se de ler o Guia de Contribuição antes de realizar qualquer atividade no projeto!

Licença

O CAPJu está sob as regras aplicadas na licença MIT

Contribuidores

About

Repositório destinado ao Back-end do CAPJu, um sistema de controle e acompanhamento de processos da Justiça Federal.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.8%
  • Shell 2.0%
  • Dockerfile 0.2%