Code Monkey home page Code Monkey logo

teste-fidelize's Introduction

Teste FideliZi!

Olá, candidato, através deste teste, iremos avaliar alguns conceitos básicos em cima de umas das ferramentas que trabalhamos aqui dentro da empresa.

Serão conceitos básicos relacionados ao framework Laravel e a biblioteca React

Objetivo

Estruturar uma simples API dentro do Laravel para trabalhar uma simples estrutura de programa de fidelidade entre empresas.

  • Cada cliente terá um simples cadastro de nome e telefone
  • Cada empresa terá um simples cadastro de nome e CNPJ
  • Um cliente será vinculado em uma empresa através da tabela card, tabela que indica a sua cartela de pontos naquela empresa
  • Vinculada a cada cartela, terão os pontos conquistados, onde somados, irão formar o saldo do cliente naquela empresa.

Estruturar duas páginas que irão consumir a API criada.
Uma para listagem dos clientes e outra para as empresas.

Cada página deverá conter:

  • Tabela com a listagem completa das informações
  • Cadastro de um novo registro

Estrutura do projeto

Neste projeto já possui a base tanto do backend quanto do frontend para iniciar o teste. Basta realizar a instalação dos pacotes em cada um e inicar a codificação.

Backend (Laravel)

# Instalação dos pacotes do laravel
composer install
# Após a criação do banco de dados de teste em sua máquina, rodar
# o comando abaixo para geração das tabelas necessárias para a estruturação da API
php artisan migrate
# Rodar o projeto
php artisan serve

Frontend

# Instalação dos pacotes do create react app
yarn install
# Rodar o projeto
yarn start

Requisitos obrigatórios

  • Para estruturação dos models deverá ser usado o eloquent do próprio laravel
  • A API deverá conter os seguintes endpoints abaixo:
GET /api/companies # Listar todas as empresas (Já criado)
POST /api/companies # Cadastrar uma empresa

GET /api/companies/{id}/clients # Listar todos os clientes de uma empresa
POST /api/companies/{id}/clients # Cadastrar um cliente em uma empresa

POST /api/companies/{id}/clients/{clientID}/points # Adicionar pontos ao cliente na empresa
  • A página de listagem dos clientes deverá conter uma coluna com o saldo do cliente referente a ele em determinada empresa.

Requisitos Opcionais

Caso sejam feitos irão contar pontos adicionais ao seu teste

  • Estruturar paginação server side em ambas as telas
  • Estruturar a edição e remoção de registros em ambas as páginas
  • Usando os jobs do laravel, ao efetuar o cadastro e lançamento dos pontos em cada cliente, enviar um email a ele. (Usar o mailtrap para realizar os testes)

teste-fidelize's People

Contributors

trintim avatar

Watchers

 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.