Skip to content

pi1-2024-ChicoLiro/ChicoLiro-Software-Back

Repository files navigation

ChicoLiro - Backend Services

logo

GitHub repo size GitHub issues

Sobre o Projeto

O projeto ChicoLiro, desenvolvido durante a disciplina de Projeto Integrador 1, consiste em um carro seguidor de linha. Equipado com sensores para medir a velocidade e detectar a linha por meio de infravermelhos, o veículo é capaz de percorrer o trajeto de forma autônoma. Esse desempenho é possibilitado pela integração com o software ChicoLiro-Software, cujo recebe os dados da rota em tempo real e transmite ao utilizado tais dados em tempo real por meio de gráficos.

Este repositório contém o código-fonte do serviço de Back-End do projeto ChicoLiro, que adota uma arquitetura monolítica e uma estrutura multi-repo. Os repositórios que compõem o projeto são: Front-End, Back-End e Código aos Componentes.


Tecnologias



Estrutura do repositório

EM CONSTRUÇÃO


Instalação

Configurando banco de dados e configurações iniciais

Para rodar localmente o banco de dados e então conseguir executar esse serviço é necessário seguir os seguintes passos:

# Clone o repositório de configuração do projeto em uma pasta dedicada ao projeto
$ git clone https://github.com/pi1-2024-ChicoLiro/ChicoLiro-Software-Back.git

# Acesse a pasta do projeto
$ cd ChicoLiro-Software-Back

# Dentro da raiz da pasta de configuração ChicoLiro-Software-Back execute o comando para baixar as dependências:
$ npm install
# OU COM YARN:
$ yarn

Configurando .env do serviço

O repositório contém um arquivo chamado .env.template, que já inclui todas as variáveis necessárias para o uso no projeto. Para configurá-lo, basta copiá-lo, renomeá-lo para .env e preencher as informações do seu banco de dados. A estrutura do .env.template é a seguinte:

DATABASE_URL=

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 os seguintes comandos:
## Esse comando irá definir a versão de desenvolvimento do NodeJs como 18
nvm use 18

## Esse comando irá instalar as bibliotecas
npm install

Instalando Novas Dependencias

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

npm install nome-da-dependencia

Criando a estrutura do banco de dados

O Prisma, ORM utilizado no projeto, organiza os comandos necessários para gerenciar e manipular o banco de dados de forma eficiente. Ele permite a definição do esquema do banco de dados, a realização de migrações e a execução de consultas de maneira simples e intuitiva. A seguir, estão os comandos principais utilizados com o Prisma para manipulação do banco de dados:

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 DATABASE_URL encontrada no .env.

npx prisma migrate dev --name initial-migration

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

Para manipular as alterações nas models, poderá usar os comandos abaixo:

npx prisma db pull

# E logo após:

npx prisma db push

# No mesmo princípio do git, o primeiro comando irá atualizar suas models de acordo com o banco online, enquanto a segunda irá empurrar as suas mudanças nas models para o banco online.

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:

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

## Esse comando irá verificar erros de sintaxe e possíveis melhorias.
npm run check-format

Testes

## Esse comando irá rodar os testes do Back-End.
npm run test

Deployment

GitHub Actions.


Contribuição

EM CONSTRUÇÃO


Licença

O ChicoLiro-Software está sob as regras aplicadas na licença MIT


Contribuidores

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •