SwiftBite é um aplicativo web moderno para entrega de comida, construído com as tecnologias mais recentes para oferecer uma experiência de usuário rápida, responsiva e intuitiva. Este projeto foi desenvolvido para simular uma plataforma real de delivery, com funcionalidades como navegação por restaurantes, cardápios, carrinho de compras persistente e autenticação de usuários.
- Navegação por Restaurantes: Explore uma lista de restaurantes populares com informações como tipo de cozinha, avaliação, tempo de entrega e faixa de preço.
- Cardápios Detalhados: Visualize o cardápio completo de cada restaurante, organizado por categorias.
- Carrinho de Compras Persistente: Adicione, remova e atualize a quantidade de itens no carrinho. Os itens são salvos na conta do usuário, persistindo entre sessões e dispositivos.
- Autenticação de Usuário: Sistema completo de login e cadastro de usuários utilizando e-mail e senha, com o Firebase Authentication.
- Área do Usuário:
- Perfil: Visualize e atualize suas informações pessoais.
- Histórico de Pedidos: Acompanhe todos os pedidos realizados, com detalhes sobre os itens, data e status.
- Configurações: Gerencie sua conta, incluindo a opção de sair (logout).
- Checkout Simplificado: Um fluxo de finalização de compra onde o usuário pode preencher o endereço de entrega e escolher a forma de pagamento.
- Design Responsivo: A interface se adapta perfeitamente a diferentes tamanhos de tela, de desktops a dispositivos móveis.
- Busca com IA: Utiliza o Genkit para fornecer uma busca inteligente por itens do menu, com capacidade de pedir esclarecimentos em caso de ambiguidades.
Este projeto foi construído com um stack de tecnologias modernas e eficientes:
- Frontend:
- Next.js (App Router)
- React (com Hooks e Server Components)
- TypeScript
- UI & Estilização:
- Tailwind CSS
- Shadcn/UI - Coleção de componentes de UI reusáveis.
- Lucide React - Para ícones.
- Backend & Banco de Dados:
- Firebase:
- Firestore: Para armazenamento de dados do usuário, carrinho e pedidos.
- Firebase Authentication: Para gerenciamento de autenticação.
- Firebase:
- Inteligência Artificial:
- Genkit (Google AI): Utilizado para a funcionalidade de busca no menu.
Para executar este projeto localmente, siga os passos abaixo:
- Node.js (v18 ou superior)
- npm ou yarn
git clone https://github.com/seu-usuario/swiftbite.git
cd swiftbitenpm installO projeto já está configurado para se conectar a um projeto Firebase. As credenciais de configuração do cliente estão localizadas em src/firebase/config.ts. As regras de segurança do Firestore estão definidas em firestore.rules.
Para usar seu próprio projeto Firebase:
- Crie um projeto no console do Firebase.
- Ative o Firebase Authentication (com o provedor de E-mail/Senha) e o Firestore.
- Obtenha as credenciais do seu aplicativo web no Firebase e atualize o arquivo
src/firebase/config.ts. - Aplique as regras de segurança do arquivo
firestore.rulesno seu banco de dados Firestore.
Para iniciar o aplicativo em modo de desenvolvimento:
npm run devAbra http://localhost:9002 no seu navegador para ver o resultado.
Para que a funcionalidade de busca com IA funcione, você precisa iniciar o servidor do Genkit em um terminal separado:
npm run genkit:devIsso iniciará o ambiente de desenvolvimento do Genkit e permitirá que o frontend se comunique com os fluxos de IA.
Feito com ❤️ por Faguiro