Projeto como objetivo de estruturar uma aplicação web fullstack, dockerizada, cujo objetivo seja possibilitar que usuários da NG consigam realizar transferências internas entre si.
O diretório raiz é composto por dois sub-diretórios, sendo eles backend e frontend. Para rodar cada aplicação (backend e frontend) é necessário estar dentro do diretório específico de cada uma delas e seguir os passos:
- Primeiramente será necessário criar um arquivo
.env
que tenha as variáveis de ambiente necessárias para que a aplicação acesse seu bancode dados Postgres.
O arquivo '.env' deve conter o seguinte conteúdo:
DB_USERNAME=postgres
DB_PASSWORD=password
DB_NAME=postgres
DB_HOST=hostname
DB_PORT=5432
APP_PORT=3001
JWT_SECRET=jwtsecret
Onde:
- DB_USERNAME: Nome de usuário do Postgres. Aqui estamos utilizando o usuário postgres mas, em um ambiente de produção, deve-se utilizar um outro usuário por questões de segurança;
- DB_PASSWORD: A senha do nome de usuário especificado em DB_USERNAME;
- DB_NAME: O nome que irá dar ao banco de dados;
- DB_HOST: O nome do host (computador hospedeiro) no qual o servidor Postgres está sendo executado. Caso você esteja executando o servidor Postgres no seu computador local o valor deve ser
127.0.0.1
; - DB_PORT: A porta usada pelo servidor Postgres.
- APP_PORT: A porta usada pelo servidor Node da API.
- Instale as dependências
npm install
- Execute os seguintes comandos para criar a base de dados no seu servidor Postgres e popular as tabelas com alguns dados
npx sequelize-cli db:drop
npx sequelize-cli db:create
npx sequelize-cli db:migrate
npx sequelize-cli db:seed:all
- Inicie o servidor da API
npm run dev
- Instale as dependências
npm install
- Inicie a aplicação
npm run dev
- Primeiramente serão criados os container para o banco de dados, aplicação backend e fontend. Rode o comando abaixo na pasta raiz do projeto.
docker-compose up --build
Feito isso as aplicaçãoes já devem estar disponíveis:
- Servidor backend rindando na porta 3001;
- Fontend tondando na porta 3000;
- E o banco de dados na porta 5432.
- Execute os seguintes comandos para criar a base de dados no seu servidor Postgres e popular as tabelas com alguns dados
npx sequelize-cli db:drop
npx sequelize-cli db:create
npx sequelize-cli db:migrate
npx sequelize-cli db:seed:all