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.
EM CONSTRUÇÃO
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
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=
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.
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
Pode ser utilizado o seguinte comando para inserir novas dependencias na aplicação:
npm install nome-da-dependencia
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.
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
## Esse comando irá rodar os testes do Back-End.
npm run test
EM CONSTRUÇÃO
O ChicoLiro-Software está sob as regras aplicadas na licença MIT