Coder Social home page Coder Social logo

thetheago / cellphoneplans Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 87 KB

Um desafio com php puro sem utilização de bibliotecas externas, onde a api consulta um JSON de planos de telefone e os retorna filtrados, utilizei alguns patterns visando deixar o código organizado, legível e dependêndo de abstrações externas, também respeitando o Open Closed Principle. Leia o README.

PHP 97.49% Dockerfile 2.51%

cellphoneplans's Introduction

Notas de Thiago

Para rodar o projeto : Rode docker compose up e acesse localhost:8000

O objetivo com esse repositório é aplicar oque eu pretendia fazer ao ver este teste pela primeira vez (sem a limitação de tempo e pressão de ter alguem me observando), e também, aplicar algumas estruturas e patterns a mais como forma de estudo e prática.

Objetivo

O objetivo deste teste é propor um sistema que se encarrega de exibir preço dos planos vendidos junto aos aparelhos de telefone e a sua principal característica é a possibilidade de associar vários planos a um telefone.

Critérios de aceitação

O candidato deverá escrever um programa que receberá uma lista de planos(data.json) e deverá retornar a lista filtrada baseada nos critérios abaixo:

  • O sistema só poderá exibir planos que tenham schedule.startDate válidos, ou seja, menor que a data atual.
  • O sistema só poderá exibir 1 única vez planos que tenham os mesmos : name, localidade dando preferência quem possuir o schedule.startDate mais recente.
  • Note que o campo localidade possui uma hierarquia (PAÍS -> ESTADO -> CIDADE). Esta hierarquia deverá ser respeitada, de maneira que a cidade terá maior prioridade que estado e país. O sistema só poderá exibir 1 única vez planos que tenham os mesmos : name dando preferência a hierarquia de localidades.

Critérios de avaliação

  • Funcionalidade: atender todos os critérios de aceitação mencionados;
  • Organização do projeto: diretórios, arquivos, classes, ...;
  • Legibilidade do código;
  • Adoção de boas práticas de desenvolvimento de software;
  • Criatividade: O escopo deste teste é bem aberto, do ponto de vista de requisitos técnicos, propositalmente, para que você possa demonstrar sua criatividade. :)
  • Propor melhorias no arquivo JSON disponibilizado.

imagem

O que será permitido

Para este teste será permitido:

  • Pesquisar no Google;
  • É permitido perguntar sobre as regras de negócio para o entrevistador;
  • Utilizar a linguagem de programação Javascript.
  • Não é permitido utilizar frameworks ou bibliotecas de terceiros. Ex.: lodash, jquery, angular, etc.

cellphoneplans's People

Contributors

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