npm install
npm run serve
npm run build
Esse repositório possui uma aplicação de uso livre e customizável para criação de um sistema de pontuação e resgate.
Construído utilizando o framework Vue.js e suas bibliotecas.
- node_modules
- possui todas as dependências do código criada pelo Node.
- 📁public
- possui os arquivos diretamente interpretados pelo navegador.
- 📁src
- contém todo o código de desenvolvimento do projeto.
- 🐳Dockerfile
- Constroi e distribui a aplicação em um container Docker.
- package-lock.json
- Possui o endereço das dependências.
- package.json
- É um arquivo de configuração do projeto e suas principais dependências.
- server.js
- Utiliza a biblioteca Express para criar um servidor web em uma porta local.
- favicon.ico
- É um icone que fica no tab do navegador.
- index.html
- Arquivo que é interpretado pelo navegador possui a chamada para os outros componentes do Vue.js
- assets
- Possui todas as imagens utilizadas no app.
- components
- Possui os componentes utilizados por cada página (view).
- router
- Arquivo de configuração para o Vue Router, que conecta as páginas em uma aplicação de página única (SPA).
- style
- CSS que múltiplos arquivos compartilham.
- views
- Cada uma das páginas do App
- App.vue
- Chamada do Vue Router para organização das páginas.
- main.js
- Importação de todos os plugins e criação da aplicação em Vue.js
Cria um container Docker em utilizando Node:16.13-bullseye. Todas as dependências são instaladas, logo após, os arquivos são colocados, o arquivo é compilado e o servidor web é acionado.
Utiliza o framework Express para subir um servidor web local na porta especificada.
Padrão: Port:8080
Para aplicação funcionar utilizando um banco de dados, é necessário a criação de rotas:
app.route('/users').get(controller.users); app.route('/users').post(controller.createUser); app.route('/usersById/:id').get(controller.userID); app.route('/usersByCpf/:cpf').get(controller.userCpf); app.route('/usersCode/:code').get(controller.userCode); app.route('/users/:id').put(controller.updateUser); app.route('/users/:id').delete(controller.deleteUser); app.route('/newCustomer/:code').post(controller.newCustomer); app.route('/reclaim/:id').get(controller.claimPrize); app.route('/buy/:id').post(controller.buyProduct); app.route('/vouchers/:userId').get(controller.getVouchers);
É necessário um .env que irá lidar com:
- VUE_APP_API_IP
- a rota do servidor web da API.
- VUE_APP_RECOMM_IP
- a rota do próprio front.
- VUE_APP_BITLY_TOKEN
- token para encurtador de links.