O objetivo deste projeto é explorar a possibilidade de construir uma estrutura básica de Node Server + MySQL para adquirir noção de como as coisas acontecem e disponibilizar um passo-a-passo por meio de código comentado.
O passo-a-passo se inicia em index.html
e segue o caminho feliz. As exceções e erros ( catch
) foram explorados de maneira superficial.
Há indicações do caminho a ser realizado entre os arquivos mas caso você se perca é só procurar pelo passo desejado: Passo 01
, Passo 02
, Passo 03
...
Foi utilizado o menor número de dependências possível e não existem testes ou lints.
Parte desta construção foi inspirada no modelo do livro "Node.js API: Learn server-side JavaScript by building your own Node.js server from scratch" por Greg Sidelnikov.
- Clone este repositório:
git clone https://github.com/felipexperto/simple-node-server.git
-
Se você não possui o Docker instalado, siga este guia de instalação.
-
Via terminal acesse a pasta raíz do projeto;
-
Com o Docker instalado e rodando, digite no terminal:
docker-compose up
(aguarde o MySQL iniciar)
- Pronto, pode acessar a aplicação no endereço:
http://0.0.0.0:8080/
- Quando desejar parar a aplicação, vá no terminal:
- Pressione
Cmd+C / Ctrl+C
- E digite:
docker-compose down
- Clone este repositório:
git clone https://github.com/felipexperto/simple-node-server.git
- Se você não tem o NodeJS instalado, instale-o.
- Há diversas maneiras de fazer este passo:
- No Windows a mais fácil é acessando este site, baixando e instalando o pacote.
- No Mac, se você possui o Homebrew (gerenciador de pacotes) instalado, pode utilizar o comando:
brew install node
- A aplicação consulta uma base de dados e precisamos de uma estrutura para executá-lo.
- Novamente, existem diversas possibilidades e vou indicar a instalação do XAMPP que nos permite subir um módulo Apache e MySQL.
- Após a instalação, execute-o e no
XAMPP Control Panel
dê um "Start" nos dois serviços. - Acesse o endereço: http://localhost/phpmyadmin
- Importe nosso banco que está em
db/data.sql
(você encontra um bom tutorial clicando aqui ou pesquisando por:How to Import a MySQL Database using phpMyAdmin
) - Também crie um usuário e dê permissões
CREATE USER 'nodegreg'@'%' IDENTIFIED BY '123';
GRANT ALL ON *.* TO 'nodegreg'@'%';
-
Via terminal acesse a pasta raíz do projeto;
-
Instale as dependências com
npm install
-
Rode o projeto com
npm run dev
-
Acesse http://127.0.0.1:8080