Code Monkey home page Code Monkey logo

magalufinder's Introduction

MagaluFinder

O magalufinder é uma aplicação desenvolvida para o desafio da Tribo Operações Comerciais. Seu objetivo é ajudar os clientes do Magalu a encontrarem as lojas mais próximas que possuam o produto desejado. Aqui está a descrição completa do desafio.

Requisitos

Instalação

# clone o repositório
$ git clone https://github.com/luisfelipegodoi/magalufinder magalufinder-luis-felipe

# acesse o diretório da aplicação
$ cd magalufinder-luis-felipe

# instale as dependências da aplicação
# este comando é necessário para 'api' e 'front'
$ npm install

Antes de tudo

# abra o arquivo 'knexfile.js' no diretório raiz do projeto.
# neste arquivo estão as configurações usadas para a base mysql local.
# caso seja divergente, necessario alterar no arquivo tambem (somente alterar o nó 'connection').
$ abra sua base mysql local e execute o  comando ```CREATE DATABASE magalufinder``` 

Após a criação da base local, já é possível executar as migrations e as seeds.

Considerações

# veja que o projeto está dividido em duas pastas raiz principais.
# são elas: 'api' -> api desenvolvida em node.js | 'front' -> desenvolvido em react.
# tais serviços são executados individualmente.
# suba os serviços na seguinte ordem: 1º api, 2º react.

Comandos api

# acesse a pasta 'api' e instale o modulo knex globalmente
$ sudo npm install knex -g
# executa o up 'criação' das migrations
$ knex migrate:latest
# executa o down 'drop' das migrations
$ knex migrate:rollback
# executa as seeds, respeitando a ordem numérica dos arquivos
$ knex seed:run

Iniciando

# o serviço será iniciado em: http://localhost:8000
$ npm start

Navegue até http://localhost:8000. A aplicação será carregada automaticamente após a execução do comando mencionado acima.

Testando

# execute `test` para executar os testes unitários.
$ npm run test

Comandos front

# acesse a pasta 'front' e instale as dependências
$ npm install
# o serviço será iniciado em: http://localhost:3000
$ npm start

Navegue até http://localhost:3000. A aplicação será carregada automaticamente após a execução do comando mencionado acima.

Estrutura do projeto

A aplicação está organizada da seguinte forma:

├── api/
│   ├── controllers/
│   ├── migrations/
│   ├── models/
│   ├── routes/
│   ├── seeds/
│   ├── test/
│   ├── .babelrc
│   ├── .env
│   ├── .jshintrc
│   ├── .travis.yml
│   ├── .index.js
│   └── .package.json
│
├── front/
│   ├── public/
│   ├── src/
│   ├── .editorconfig
│   ├── .env
│   └── package.json
│
└── README.md

magalufinder's People

Contributors

luisfelipegodoi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.