Airbnb Clone
Este projeto é um clone do Airbnb desenvolvido com tecnologias modernas do ecossistema React, focando em boas práticas, performance e escalabilidade.
🚀 Tecnologias Utilizadas
- Next.js: Framework React para SSR, SSG e rotas otimizadas.
- TypeScript: Tipagem estática para maior segurança e produtividade.
- Tailwind CSS: Estilização rápida e responsiva com classes utilitárias.
- Next Image Remote Patterns: Permite carregar imagens externas de domínios confiáveis.
- API REST (Next.js API Routes): Endpoints criados em
/src/app/api
para manipulação de dados (ex: autenticação, listagens, reservas).
- ESLint & Prettier: Padronização e qualidade de código.
- Vercel: Deploy recomendado.
📦 O que já foi feito
- Estrutura inicial do projeto com Next.js e TypeScript.
- Configuração do Tailwind CSS para estilização.
- Configuração de carregamento de imagens remotas do domínio
web.codans.com.br
em next.config.ts
.
- Criação de componentes reutilizáveis para interface.
- Implementação de rotas e páginas principais.
- Criação de endpoints de API para manipulação de dados (exemplo: autenticação, listagens).
- Organização da estrutura de pastas (
components
, app
, assets
, types
, utils
).
🔗 API
- Endpoints criados em
/src/app/api
para autenticação, listagens e reservas.
- Utilização de métodos HTTP (
GET
, POST
, etc.) para comunicação entre frontend e backend.
- Exemplo de chamada:
fetch('/api/listings')
.then(res => res.json())
.then(data => console.log(data));
📁 Estrutura do Projeto
src/app/
— Páginas, rotas e endpoints de API
src/components/
— Componentes reutilizáveis
src/assets/
— Imagens e outros assets
src/types/
— Tipos TypeScript
src/utils/
— Funções utilitárias
⚙️ Configuração de Imagens
O projeto permite carregar imagens remotas do domínio web.codans.com.br
:
// next.config.ts
images: {
remotePatterns: [
{
protocol: 'https',
hostname: 'web.codans.com.br',
},
],
},
🛠️ Como rodar o projeto
- Instale as dependências:
npm install
# ou
yarn install
- Inicie o servidor de desenvolvimento:
npm run dev
# ou
yarn dev
💡 O que pode melhorar
- Implementar autenticação com OAuth (Google, Facebook, etc.).
- Adicionar testes unitários e de integração.
- Melhorar a responsividade e acessibilidade.
- Implementar upload de imagens pelo usuário.
- Adicionar internacionalização (i18n).
- Melhorar tratamento de erros e feedbacks visuais.
- Otimizar queries e cache de dados.
- Implementar CI/CD para deploy automatizado.
📚 Recursos