Skip to content

Luccazx12/reprography-nodejs

Repository files navigation

English Version

🚧 ⚠️ Em Desenvolvimento... ⚠️ 🚧

Sistema Reprográfico - Back-end

Apresentação

Bem-vindo, este projeto faz parte do nosso Trabalho de Conclusão de Curso (TCC) do curso técnico de Desenvolvimento de sistemas da a Escola SENAI Suíço-Brasileira Paulo Ernesto Tolle.

Índice

Sobre o Projeto

Esta aplicação foi requerida pela coordenadora da escola Senai Suiço-Brasileira, com o intuito de fazer o controle das impressões realizadas pelos diversos setores da escola (professores, funcionários, etc), podendo assim, administrar melhor gastos e desperdícios.

📌 Recursos utilizados neste projeto

Runtime environment

Linguagem

ORM

Banco de dados

Framework

Documentação

Dependências do projeto:

  • Express 4.17.1 - É um framework para Node.js que fornece recursos mínimos para construção de servidores web.
  • Nodemon 2.0.13 - Para restartar o server sempre que houver uma alteração.
  • Jsonwebtoken 8.5.1 - Uilizado para criação e posteriormente verificação de token para autenticação.
  • Bcrypt 5.0.1 - Para Cryptografar as senhas de usuários antes de salvar no banco.
  • Crypto 1.0.1 - Utilizado para criar um Token aleatório que será transformado em string.
  • Cors 2.8.5 - É um mecânismo utilizado pelos navegadores para compartilhar recursos entre diferentes origens.
  • Multer 1.4.2 - É um middleware node.js para lidar com multipart, que é usado principalmente para fazer upload de arquivos.
  • Nodemailer 6.6.3 - Utilizado para enviar e-mails.
  • MariaDB 2.5.4 - É o banco de dados que nos usamos (dependência utilizada para conexão da ORM com banco de dados).
  • Dotenv 10.0.0 - Utilizado para setar as variáveis de ambiente (dados sensíveis).

▶️ Como iniciar a aplicação

Pré-requisitos:

  • Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js.

  • Além disto é bom ter um editor para trabalhar com o código como: VSCode.

Configurando

  1. Clone ou baixe esse repositório na sua máquina.

  2. Instale as dependências do projeto, com o comando npm install ou yarn install caso tenha o yarn instalado.

  3. O arquivo .env.sample é usado para configurar todas as variáveis de ambiente que você precisa, como as informações sobre o seu banco de dados. Altere todas as informações para que a aplicação funcione adequadamente.

# Banco de Dados
DB_HOST=
DB_PORT=
DB_USER=
DB_PASSWORD=
DB_DATABASE=
DB_DIALECT=

# Mailer - Conexão
MAILER_HOST=
MAILER_PORT=
# exemplo:hotmail
MAILER_SERVICE=
MAILER_USER=
MAILER_PASS=

# Mailer - Outros
# Email que serão enviadas as solicitações/avaliações de reprografia
MAILER_COMPANY_EMAIL=
# Host e porta do front-end que será enviado no e-mail de recuperação de senha 
# exemplo:http://localhost:3000
MAILER_HOST_PORT=

# JWT 
JWT_SECRET_KEY=
HEADER_KEY=
SALT_ROUNDS=

# First Account in application
ADMIN_EMAIL=
ADMIN_PASS=
  1. Lembre-se de renomear este arquivo para .env para conseguir executar a aplicação.

Iniciando o servidor

Importante: Antes de iniciar a aplicação, primeiro crie o banco de dados que você inseriu em DB_DATABASE no arquivo de configuração das variáveis de ambiente.

Execute o comando abaixo para iniciar o Nodejs e conectar ao banco de dados:

# Para iniciar normalmente -> Executará o script "start" do package.json.
$ npm run start

# Para iniciar em modo de desenvolvimento (requer nodemon) -> Executará o script "dev" do package.json.
$ npm run dev

Caso prefira o Yarn:

# Para iniciar normalmente -> Executará o script "start" do package.json.
$ yarn start

# Para iniciar em modo de desenvolvimento (requer nodemon) -> Executará o script "dev" do package.json.
$ yarn dev

⚡ Aguarde a execução e a API estará rodando na URL: http://localhost:3002


E assim você terá sua aplicação rodando localmente.

📄 Documentações

⚡ Testes

😯 Como contribuir para o projeto

  1. Faça um fork do projeto.
  2. Crie uma nova branch com as suas alterações: git checkout -b my-feature
  3. Salve as alterações e crie uma mensagem de commit contando o que você fez: git commit -m "feature: My new feature"
  4. Envie as suas alterações: git push origin my-feature

Caso tenha alguma dúvida confira este guia de como contribuir no GitHub

🚀 Desenvolvedores :octocat:

Imagem do perfil de Lucca
Lucca
❄️TechLead❄️
Imagem do perfil de Ṕatrick
Patrick
❄️⛄❄️
Imagem do perfil de Daniel
Daniel Santos
❄️⛄❄️
Imagem do perfil de Oséias
Oseias Farias
❄️⛄❄️
Imagem do perfil de Mauricio
Mauricio Moreira
❄️⛄❄️
Imagem do perfil de João
João Otávio
❄️⛄❄️
Imagem do perfil de Tiago
Tiago Soares
❄️⛄❄️

📝 Licença

Este projeto está sobre a licença MIT.