Teste técnico para vaga da SIP Digital.
- Login com autenticação JWT
- Cadastro de produtos, com imagem, nome e valor
- Express e Sequelize
Instruções necessárias para utilização e testes do projeto
Dependências ou software necessários para rodar o projeto:
- Docker (opcional)
- Postgres SQL (opcional, qualquer outro banco suportado pelo Sequelize ORM)
- Node.JS
-
Clone o repositório:
git clone https://github.com/alissonsilvajs/SIPDigitalBackend.git
-
Instale as dependências
npm install
: Se estiver utilizandonpm
yarn install
: Se estiver utilizandoyarn
-
Criando a pasta para uploads de imagens
mkdir tmp\uploads
: Se estiver utilizandoWindows
mkdir -p tmp/{uploads}
: Se estiver utilizandoLinux
-
Criar o arquivo
.env
Esse arquivo é necessário para definir variaveis que passa para aplicação. -
Gerar a chave privada para encriptar os dados do JWT A chave deverá ser de no mínimo
32 caracteres
e no máximo64 caracteres
- Ex.:
aff1c29e15cc9e50a5ce7c5b5e568e2166ea63b6b3cc277ba79015df045f65f3
- Modificar o arquivo
.env
-
PORT
: Em qual porta o back-end será rodado (obrigatório) -
APP_SECRET
: A chave privada do projeto (obrigatório) -
MULTER_STORAGE_TYPE
: O tipo de armazenamento das imagens (obrigatório) -
MULTER_ENDPOINT
: O endpoint do bucket (opcional, se estiver utilizando o tipo local) -
MULTER_BUCKET_NAME
: O nome do bucket (opcional, se estiver utilizando o tipo local)
- Modificar o dados do banco de dados
dialect
: O banco de dados está sendo utilizado.host
: O IP que o banco de dados está utilizando.username
: O usuário do banco de dados.password
: A senha do banco de dados.database
: O nome do banco de dados.
- Migra as colunas para o banco de dados
npx sequelize-cli migrate
: Se estiver utilizando o npm
yarn sequelize db:migrate
: Se estiver utilizando o yarn
- Inicia o projeto
npm run dev
: Se estiver utilizando o npm
yarn run dev
: Se estiver utilizando o yarn
As dependências utilizadas no projetos:
Foi disponibilizado a documentação de toda API. Para ver a documentação, veja em API Docs.
O CI utilizado foi o CircleCI
, segue abaixo o mesmo:
Foi utilizado para versionamento o SemVer. Para ver as versões disponíveis, veja em Tags desse repositório.
- Já utilizei o
Sequelize
e tive muita raiva no ano passado. Mas nesse teste finalmente consegui entender! - Referência Sequelize
- Alisson Silva - alissonsilvajs
O projeto é licenciado sobre a licença GPL-3
- Veja em LICENSE para mais detalhes