Skip to content

42labsBlackhole/mgm_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Customize configuration

See Configuration Reference.

Aplicação MGM

Esse repositório possui uma aplicação de uso livre e customizável para criação de um sistema de pontuação e resgate.

STACK

Construído utilizando o framework Vue.js e suas bibliotecas.

Árvore de arquivos

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.

public

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

src

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

Dockerfile

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.

server.js

Utiliza o framework Express para subir um servidor web local na porta especificada.

Padrão: Port:8080

API para MongoDB

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);

.env

É 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.

Contributors