Giter VIP home page Giter VIP logo

busca-cep's Introduction


BuscaCEP

GitHub GitHub Github GitHub top language GitHub language count

🔥 Live demo in link below 🔥

Live Demo Here

🧰 Requisitos

  • Desenvolver uma aplicação utilizando um CEP para obter o endereço completo via API dos Correios (ViaCep ou BrasilAPI).
  • Obrigatórios: React, Next, Typescript, Tailwind CSS;
  • Desejáveis: SWR, StoryBook (apenas um componente para mostrar o conhecimento).

Extras

  • Dark mode
  • Design no figma

🎨 Design

Você pode visualizar o design do projeto através do link abaixo:

Design

Acessar o design no Figma

OBS.: O projeto também suporta dark e light mode. É necessário apenas trocar entre as opções nas configurações de aparência do seu navegador


🧪 Tecnologias

Esse projeto foi desenvolvido com as seguintes tecnologias:


$ npx create-next-app@latest

📦 Outros pacotes


🚀 Como executar

Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js e NPM. Além disto, é bom ter um editor, recomendo o:

Linkedin Badge

Executando

Clone o projeto e acesse seu diretório.

$ git clone https://github.com/pedroab0/busca-cep

$ cd busca-cep
Instale as dependências
$ npm i
Iniciar o projeto
$ npm run dev
Iniciar o Storybook
$ npm run storybook

📘 Decisões Técnicas

App Router vs Pages Router?

Optei pelo app router por ser a configuração recomendada pela Vercel e não ter sido especificado no requisitos.

TailwindCSS vs styled-components vs Os dois juntos?

Escolhi apenas o TailwindCSS por estar como um requisito obrigatório apesar de ser possível usar ambos juntos e de eu ter uma proficiência maior com o styled-components

Revalidação automática do SWR

Decidi desativar as revalidações automáticas pelo dado trazido ser imutável. Fiz isso usando as options do `useSWR`, mas poderia também ter tido o mesmo resultado usando o `useImmutableSWR`.
const { data, isLoading, error } =  useSWR<FetchedAddressInterface, FetchedAddressError>(
formData  ?  `https://brasilapi.com.br/api/cep/v2/${formData}`  :  null, fetcher, {
	revalidateIfStale:  false,
	revalidateOnFocus:  false,
	revalidateOnReconnect:  false
  }
)

Arrow Function Component vs Function Component

Apesar de ter mais hábito escrevendo componentes com a notação
export function Home () {}

Decidi usar as arrows functions por ter visto que é a preferência do dev front-end que já está no projeto Mas falo mais um pouco sobre isso em um post que eu fiz no linkedin Linkedin Badge


🧑‍💻 Autor

Linkedin Badge Gmail Badge


📝 Licença


🚧 🛠️ Em breve... 🛠️🚧


Feito com ❤️ por Pedro Barbosa 👋🏽 Entre em contato!


busca-cep's People

Contributors

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