Repositório criado com o propósito de mostrar minhas capacidades como desenvolvedor full-stack, utilizando o Node para a criação da API.
Você pode acessar o projeto clicando aqui!
Projeto criado através do comando yarn init
utilizando o Yarn como gerenciador de pacotes. Toda a parte de codificação está dentro da pasta /via-notes-frontend/src
, contendo:
- 🛠️ config
- 🚦 controllers
- 📡 models
- 💡 utils
Todos os arquivos na raíz do projeto /via-notes-backend
são arquivos de configuração. O código inicia no arquivo /via-notes-backend/src/index.ts onde as configurações do servidor juntamente com as rotas da aplicação são importadas e iniciadas.
Cada rota executa um controller de sua respectiva funcionalidade, um exemplo são as rotas de /note, onde cada rota com um método diferente executa a sua ação (listagem de dados, criação, atualização e remoção).
As rotas de /open-api são rotas abertas na qual qualquer requisição é aceita. Já as rotas de /api são bloqueadas propositalmente como uma forma de autenticar o usuário.
As rotas bloqueadas esperam receber um token por header { "Authorization": "<TOKEN>" }
na qual será verificado se é um token válido ou não. Para fazer isso, foi utilizado a dependência Json Web Token.
Os models são responsáveis por conectar e executar as queries no banco de dados. Sempre que um model é instânciado, o banco de dados é conectado e atribuido a property do model chamada de conn (objeto de conexão).
Ao fim, depois que todas as queries são tratadas e executadas, é fechado a conexão com o banco de dados através do método endConnection(hadSuccess), onde o parametro hadSuccess verifica se todas as queries foram executadas com sucesso ou não.
Foi utilizado o Heroku como host para o backend e uma instância do AWS RDS como banco de dados.
- Instale o Node na sua máquina e verifique a instalação pelo comando abaixo:
~ node --version
- Clone o repositório na sua máquina:
~ git clone https://github.com/NEVI0/via-notes-backend.git
- Instale o Yarn como gerenciador de pacotes ou utilize o NPM. Verifique a instalação pelo comando abaixo:
~ npm --version
ou
~ yarn --version
- Na raíz do projeto
/via-notes-backend
, instale as dependências necessárias pelo comando abaixo:
~ npm install
ou
~ yarn install
-
Instale o MySQL na sua máquina e o configure de acordo com a sua necessidade;
-
Conecte no seu banco de dados local e execute as queries contidas no arquivo
/via-notes-backend/db_via_notes.sql
para criar o banco de dados e as tabelas; -
Na raíz do projeto
/via-notes-backend
, crie um arquivo chamado.env
e cole o código abaixo:
# Substitua as informações de acordo com o seu banco de dados
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=123
DB_NAME=db_via_notes
DB_PORT=3306
AUTH_SECRET=<STRING_ALEATORIA>
- Substitua as informações de autenticação pelas a do seu banco de dados;
- Comando para rodar em modo de desenvolvimento:
~ npm start
ou
~ yarn start
- Comando para gerar o build de produção:
~ npm run build
ou
~ yarn build
©️ Névio Costa Magagnin