yrachid / acelera-mais-api

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Template Node JS

Este repositório serve como template para o backend de um projeto utilizando Node JS para a Aceleradora Ágil.

Tecnologias

  • Node
  • JavaScript / Typescript
  • Express
  • TypeORM

Configurando projeto

Pré requisitos

Preparando o ambiente de desenvolvimento

  • Instalar o Git

  • Instalar Oh my zsh

  • Instalar NodeJS

  • Instalar o Yarn

    Abra o terminal do seu sistema operacional e digite o seguinte comando:

    npm install -g yarn
  • Instalar Postgres

  • Instalar Beekeeper

  • Instalar Visual Studio Code

  • Clonar repositório

    Abra o terminal do seu sistema operacional e digite o seguinte comando:

    git clone <endereço-do-repositorio-com-terminação.git>
  • Iniciando a aplicação

    Após clonar esse repositório para sua maquina, ainda no terminal digite e aguarde a insstalação ser concluída:

    cd backend-nodejs
    yarn install

    Após a instalação, digite o comando:

    yarn dev

    você deverá notar uma mensagem no terminal ao final:

    Server's running in http://localhost:9000
  • Rodar testes End to End

Subir aplicação após criar a modificação e o testes na pasta ./e2eTest bash yarn dev

Rodar todos os testes e2e bash yarn run test:e2e

TypeORM

  • Criando Migration

    yarn typeorm migration:create -n <NomeDaMigration>

Preparando ambiente de teste

Variáveis de ambiente

Essas são as variaveis de ambiente que essa aplicação precisa para funcionar em qualquer ambiente. Os valores que devem ser atribuidos a elas vão depender dos ambientes. Por exemplo DATABASE_URL não contem valor pois esse valor irá mudar de acordo com o endereço do banco que será criado para cada aplicação. Julgando que cada aplicação terá seu proprio banco. Já PGSSLMODE contem o valor no-verify pois será um valor comum para todos os ambientes.

Para caso de ambiente local (sua máquina) deve ser criado um arquivo .env na raiz do projeto

DATABASE_URL=
NODE_ENV=
PGSSLMODE=no-verify
EMAIL_ADMIN=
NODEMAILER_SECRET=
NODEMAILER_EMAIL=
NODEMAILER_PASSWORD=
PASSWORD_ADMIN=
NAME_ADMIN=
SECRET=

About


Languages

Language:TypeScript 98.5%Language:JavaScript 1.2%Language:Shell 0.3%