Aplicação desenvolvida com foco em proporcionar uma experiência interativa por meio de um chat conectado à API do Gemini, responsável por analisar e indicar a qualidade nutricional das refeições. A plataforma conta com integração a um banco de dados seguro, oferecendo funcionalidades de cadastro, autenticação de usuários e gerenciamento de perfil, visando garantir eficiência e usabilidade.
- Chat conectado à API do Gemini
- Interface responsiva
- Cadastro do usuário
- Login do usuário
- Listar informações do usuário
- Editar informações do usuário
- React: Escolhido por sua modularidade e facilidade de criação de interfaces dinâmicas e responsivas. A biblioteca permite o uso de componentes reutilizáveis, o que melhora a organização e manutenção do código.
- React Router: Utilizado para gerenciar as rotas da aplicação, permitindo uma navegação fluida entre as páginas, como login, cadastro, e o chatbot.
- React Icons: Adicionado para incorporar ícones visuais de alta qualidade, melhorando a experiência do usuário.
- CSS Modules: Implementado para estilização, garantindo escopo local para os estilos e evitando conflitos de classes.
- Firebase:
- Authentication: Utilizado para gerenciar o login e cadastro de usuários de forma segura e eficiente.
- Firestore: Escolhido como banco de dados NoSQL para armazenar informações do usuário, como nome, telefone e imagem de perfil.
- Storage: Usado para armazenar imagens de perfil dos usuários.
- API do Gemini: Integrada para fornecer análises nutricionais detalhadas com base nas refeições informadas pelo usuário. A escolha foi feita devido à sua capacidade de processamento de linguagem natural e geração de respostas inteligentes.
- Vite: Utilizado como bundler e servidor de desenvolvimento por sua velocidade e simplicidade em comparação com alternativas como Webpack.
- ESLint: Configurado para garantir a qualidade do código, seguindo boas práticas e evitando erros comuns.
- Git e GitHub: Utilizados para controle de versão e colaboração no desenvolvimento do projeto.
- React e Firebase: A combinação dessas tecnologias permite o desenvolvimento rápido de aplicações escaláveis e seguras. O Firebase elimina a necessidade de configurar um backend completo, reduzindo o tempo de desenvolvimento.
- API do Gemini: A integração com uma API de linguagem natural foi essencial para oferecer uma experiência interativa e personalizada aos usuários, alinhada ao objetivo do projeto.
- CSS Modules: Escolhido para manter o código CSS organizado e evitar conflitos de estilos em uma aplicação com múltiplos componentes.
-
Clone o repositório:
git clone https://github.com/seu-usuario/nutriChat.git cd nutriChat -
Instale as dependências:
npm install
-
Configure as variáveis de ambiente no arquivo .env:
VITE_API_URL=<sua-chave-da-API-do-Gemini>
-
Inicie o servidor de desenvolvimento:
npm run dev
-
Acesse a aplicação no navegador:
Exemplo: [npm run dev](http://localhost:5173)