A API NutriAcess é uma aplicação desenvolvida para integrar com o frontend do projeto NutriAcess e foi construída durante os 6 meses do curso Profissão do Instituto PROA, por Erica Inacia e Henrique Araújo.
A API foi desenvolvida utilizando as seguintes tecnologias:
- TypeScript: uma linguagem de programação que adiciona recursos de tipagem estática ao JavaScript, proporcionando um ambiente de desenvolvimento mais seguro e robusto.
- Node.js: um ambiente de execução JavaScript que permite executar código JavaScript no lado do servidor.
- Express: um framework web para Node.js que facilita o desenvolvimento de aplicações web e APIs.
- Knex: um construtor de consultas SQL para Node.js que permite interagir com bancos de dados de forma simples e intuitiva.
- MySQL: um sistema de gerenciamento de banco de dados relacional usado para armazenar e recuperar dados.
- JSON Web Token (JWT): um padrão aberto (RFC 7519) que define um método compacto e autocontido para transmitir informações com segurança entre as partes como um objeto JSON.
- Bcrypt.js: uma biblioteca para hash de senhas que ajuda a proteger as senhas armazenadas no banco de dados.
- UUID: uma biblioteca para geração de identificadores únicos universalmente (Universally Unique Identifier).
O projeto possui os seguintes scripts configurados no arquivo package.json
:
start:dev
: inicia o servidor em modo de desenvolvimento usando o pacotets-node-dev
.start
: compila o código TypeScript e inicia o servidor Node.js.build
: compila o código TypeScript.test
: executa os testes automatizados usando o Jest.
A API faz uso das seguintes dependências de terceiros:
cors
: um middleware do Express que permite que a API seja acessada por outros domínios.date-fns
: uma biblioteca JavaScript para manipulação e formatação de datas.dotenv
: uma biblioteca que carrega variáveis de ambiente a partir de um arquivo.env
.faker
: uma biblioteca para geração de dados falsos para testes e prototipação.jsonwebtoken
: uma biblioteca para geração e verificação de JSON Web Tokens (JWT).knex
: um construtor de consultas SQL para Node.js.mysql
: um driver para o MySQL que permite a comunicação com o banco de dados.uuid
: uma biblioteca para a geração de identificadores únicos universalmente.
As seguintes dependências de desenvolvimento são utilizadas no projeto:
ts-node-dev
: um pacote que permite executar arquivos TypeScript diretamente, sem a necessidade de compilação prévia.@types/cors
: pacote contendo definições de tipos para o middlewarecors
.@types/express
: pacote contendo definições de tipos para o frameworkExpress
.
Para executar o backend da API NutriAcess, siga as etapas abaixo:
- Certifique-se de ter o Node.js e o MySQL instalados em sua máquina.
- Clone este repositório para o seu ambiente de desenvolvimento.
- Abra o terminal na pasta do projeto e execute o comando
npm install
para instalar as dependências. - Configure as variáveis de ambiente no arquivo
.env
, inserindo as informações necessárias para a conexão com o banco de dados e outras configurações. - Execute o comando
npm run start:dev
para iniciar o servidor Node.js. - O backend estará disponível no endereço
http://localhost:3003
.
Certifique-se de que o banco de dados MySQL esteja em execução e acessível. Você pode usar a documentação fornecida para obter mais informações sobre a configuração do banco de dados e as rotas disponíveis na API.
A documentação da API pode ser encontrada no seguinte link: Documentação da API NutriAcess
Acesse o site da NutriAcess clicando aqui.
Clique para ir ao nosso LinkTree
Este projeto está licenciado sob a Licença ISC. Consulte o arquivo LICENSE
para obter mais informações.