Git Product home page Git Product logo

dashboard-de-clientes's Introduction

Dashboard de Clientes!

Este é um desafio que faz parte do processo seletivo para desenvolvedores de nível Júnior e Pleno FullStack da Predialize. O projeto já possui uma estrutura básica inicial para que você não perca tempo com coisas que não estamos interessados em avaliar.

Vale dizer também que o propósito deste projeto serve apenas para objetivos de avaliação em relação à sua experiência, capacidade em resolver problemas e conhecimentos da stack utilizada.

Para saber mais sobre nós, acesse: https://predialize.com.br

Projeto O projeto é um monolito divido em dois módulos: Api e App. A Api foi construída em NodeJs e no App utilizamos Angular. Ambas tecnologias utilizadas na Predialize.

Na raíz da Api, está mantido o arquivo clients.mock.js. Este arquivo será a base para realizar consultas e retornar os resultados. Será o nosso banco de dados!

A estrutura base existente do projeto não deve ser alterada, mas é claro que você pode (e deve) adicionar alguns arquivos e métodos para melhorar seu design pattern, organização e aplicar boas práticas, tanto na Api, quanto no App;

Tanto Api, quanto App, já possuem todas as dependências necessárias para você realizar o teste. Por isto, não será permitido instalar nenhum pacote extra. Ok?

Este projeto não utiliza Docker, mas se você quiser adicionar, será muito bem visto. Se o fizer, pedimos que crie o stack para o Docker Compose também.

Entrega Este repositório deve ser clonado ou baixado e, após finalizar o teste, colocado em um repositório público seu. Não importa onde (github, gitlab etc), desde que esteja público e o link seja enviado no corpo do email de resposta ao nosso contato.

Problema Queremos construir um dashboard de clientes e empreendimentos para termos uma visão estratégica do nosso portfólio. Mas, para alcançarmos nosso objetivo, precisamos resolver alguns BUGs e evoluir um pouco mais nossa Api e App.

Topa nos ajudar?

Jogo dos 7 erros Nosso dashboard não está funcionando. E agora? =/

Para começarmos a melhorá-lo, precisamos primeiro fazê-lo funcionar. Certo? Existem 7 erros em nosso App e cabe a você descobrir o que está acontecendo.

PS: Anote os erros e mostre a lista no corpo do email de resposta ao nosso contato.

Mão à obra!

Novas Features Se vocês chegou até aqui, parabéns! Agora, vamos melhorar nosso projeto? Abaixo segue o escopo das novas funcionalidades desejadas. Não precisa fazer mais do que está sendo pedido, mas é claro, trabalhe seu layout e código para ficarem minimamente aceitáveis.

Ao entrar na página de Clientes, o usuário deve visualizar todos os resultados exibidos em cards.

Requisitar informações do endpoint get("/"); Retornar da Api somente: _id, imagem, nome, quantidade de empreendimentos e quantidade de imóveis de cada cliente. Exibir os resultados obtidos; Na página de Clientes, o usuário deve poder pesquisar por nome.

Input para pesquisa. Requisitar o endpoint get("/name/:name") ao digitar a pesquisa. Nenhum botão "pesquisar" deve ser criado; Retornar da Api somente: _id, imagem, nome, quantidade de empreendimentos e quantidade de imóveis de cada cliente. A pesquisa deve retornar os resultados mesmo que não se tenha um match completo do termo pesquisado. Exibir somente os resultados retornados em cards; Na página de Clientes, o usuário deverá poder visualizar alguns totalizadores:

Requisitar informações do endpoint get("/totals"); Retornar somente os totais de: Clientes, Empreendimentos e Imóveis; Exibir os resultados dos totais obtidos; Na página de Clientes, o usuário deverá poder ver seus detalhes de forma individual:

A página de detalhamento do App deve possuir uma rota (/client/:_id) e um componente próprio. Requisitar informações do endpoint get("/:_id"); Retornar somente: _id, imagem e nome; Exibir as informações obtidas; Na página de Detalhes do Cliente, o usuário deverá poder visualizar alguns totalizadores:

Requisitar informações do endpoint get("/:client_id/totals"); Retornar somente os totais de: Empreendimentos e Imóveis; Exibir os resultados dos totais obtidos; Na página de Detalhes do Cliente, o usuário deverá poder ver todos os empreendimentos referentes a ele:

Requisitar informações do endpoint get("/:client_id/enterprise"); Retornar somente: _id, imagem e nome; Exibir as informações obtidas. Na página de Detalhes do Cliente, o usuário deve poder pesquisar pelo nome do empreendimento:

Input para pesquisa. Requisitar o endpoint get("/:client_id/enterprise/name/:name") ao digitar a pesquisa. Nenhum botão "pesquisar" deve ser criado; Retornar da Api os empreendimentos com somente: _id, imagem, nome e quantidade de imóveis de cada cliente. A pesquisa deve retornar os resultados mesmo que não se tenha um "match" completo do termo pesquisado. Exibir somente os resultados retornados; Ao entrar na página de Empreendimentos, o usuário deve visualizar todos os resultados exibidos em cards.

Requisitar informações do endpoint get("/enterprise"); Retornar da Api somente: _id, imagem, nome, nome do cliente (empresa) e quantidade de imóveis de cada empreendimento. Exibir os resultados obtidos em cards; Na página de Empreendimentos, o usuário deve poder pesquisar por nome.

Input para pesquisa. Requisitar o endpoint get("/enterprise/name/:name") ao digitar a pesquisa. Nenhum botão "pesquisar" deve ser criado; Retornar da Api somente: _id, imagem, nome, nome do cliente (empresa) e quantidade de imóveis de cada cliente. A pesquisa deve retornar os resultados mesmo que não se tenha um "match" completo do termo pesquisado; Exibir somente os resultados retornados;

dashboard-de-clientes's People

Contributors

danielribeiropgmotta avatar

Stargazers

 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.