Skip to content

cafebugado/TechCompass

Repository files navigation

Tech Compass

Uma aplicação React moderna para descobrir carreiras em tecnologia através de um questionário interativo. Projeto atualizado com as tecnologias mais recentes do ecossistema React.

🚀 Tecnologias Utilizadas

  • React 19.1.1 - Nova versão com React Compiler e melhorias de performance
  • Vite 7.1.2 - Build tool de última geração com otimizações avançadas
  • ESLint 9.15 - Linter moderno com flat config
  • CSS Puro - Estilização moderna sem dependências externas
  • Gemini AI API - Geração de conteúdo personalizado com IA
  • GitHub API - Integração com perfis do GitHub

📋 Funcionalidades

  • ✅ Questionário interativo com 30 perguntas otimizadas
  • ✅ Integração com GitHub para personalização de experiência
  • ✅ 7 possíveis resultados de carreira em TI
  • ✅ Geração de plano de estudos personalizado com IA
  • ✅ Simulação realista de um dia de trabalho na área
  • ✅ Interface responsiva e acessível
  • ✅ Animações suaves e transições modernas
  • ✅ Performance otimizada com React 19

🛠️ Pré-requisitos

  • Node.js 18+ (recomendado 20+)
  • npm ou yarn ou pnpm
  • API Key do Gemini (opcional, para funcionalidades de IA)

📦 Instalação

  1. Clone o repositório ou extraia os arquivos

  2. Instale as dependências:

npm install
  1. (Opcional) Configure a API Key do Gemini:
    • Obtenha uma API Key em Google AI Studio
    • Edite o arquivo src/components/ResultsScreen.jsx
    • Substitua const apiKey = "" pela sua chave

🚦 Executando o Projeto

Desenvolvimento

npm run dev

A aplicação estará disponível em http://localhost:3000

Build para Produção

npm run build

Preview da Build

npm run preview

Linting

npm run lint

📁 Estrutura do Projeto

src/
├── components/
│   ├── StartScreen.jsx      # Tela inicial com input do GitHub
│   ├── QuestionScreen.jsx   # Tela das perguntas
│   ├── ResultsScreen.jsx    # Tela de resultados com IA
│   └── UserInfoHeader.jsx   # Header com info do usuário
├── data/
│   └── questionsData.js     # Perguntas e dados dos resultados
├── App.jsx                  # Componente principal
├── main.jsx                 # Entry point
└── index.css               # Estilos globais em CSS puro

🎯 Resultados Possíveis

  1. Desenvolvimento Front-End - Criação de interfaces visuais e UX
  2. Desenvolvimento Back-End - Lógica e infraestrutura de servidores
  3. Ciência de Dados & IA - Análise de dados e machine learning
  4. Segurança da Informação - Proteção de sistemas e dados
  5. Infraestrutura & DevOps - Automação e operações em nuvem
  6. Desenvolvimento de Jogos - Criação de experiências interativas
  7. Design de UI/UX - Experiência e interface do usuário

🤖 Integração com IA

O projeto utiliza a API mais recente do Gemini para gerar conteúdo personalizado:

  • Plano de Estudos: Roteiro detalhado baseado no resultado
  • Dia na Vida: Narrativa realista simulando um dia de trabalho

✅ Configuração da API (usando .env)

A API Key agora é gerenciada automaticamente através do arquivo .env:

# No arquivo .env
VITE_GEMINI_API_KEY=sua_chave_aqui

Funcionalidades da integração:

  • Carregamento seguro da API Key via variáveis de ambiente
  • Validação automática da chave antes das requisições
  • Fallback gracioso se a chave não estiver configurada
  • Retry automático em caso de falhas temporárias
  • URLs configuráveis para diferentes ambientes

⚡ Novidades do React 19

Esta versão aproveita as melhorias do React 19:

  • Performance otimizada com o novo React Compiler
  • Hooks otimizados para melhor gerenciamento de estado
  • Renderização mais eficiente com menos re-renders
  • Melhor experiência de desenvolvimento com HMR aprimorado

🔧 Configurações Modernas

Vite 7.1.2

  • Build super rápido com otimizações avançadas
  • Code splitting inteligente para carregamento eficiente
  • Hot Module Replacement instantâneo
  • Tree shaking otimizado para bundles menores

ESLint 9.15

  • Flat Config - Nova configuração mais limpa
  • Regras atualizadas para React 19
  • Performance melhorada no linting
  • Suporte completo para JSX moderno

🎨 Personalização

Modificando Perguntas

Edite o arquivo src/data/questionsData.js para:

  • Adicionar novas perguntas ao array
  • Modificar sistema de pontuação
  • Criar novos resultados personalizados

Customizando Estilos

Todos os estilos estão em CSS puro moderno:

  • Custom Properties para temas
  • Container Queries para responsividade
  • CSS Grid e Flexbox modernos
  • Animações com transition e transform

📱 Responsividade Avançada

Interface otimizada para todos os dispositivos:

  • 📱 Mobile First (320px+)
  • 📱 Tablet (768px+)
  • 💻 Desktop (1024px+)
  • 🖥️ Large Desktop (1440px+)

🔧 Scripts Disponíveis

  • npm run dev - Servidor de desenvolvimento com HMR
  • npm run build - Build otimizado para produção
  • npm run preview - Preview local da build
  • npm run lint - Linting com ESLint 9

📈 Performance e Otimizações

React 19 Features:

  • React Compiler (experimental) para otimizações automáticas
  • 🚀 Concurrent Features para melhor UX
  • 📦 useMemo otimizado para cálculos pesados
  • 🔄 useCallback eficiente para event handlers

Vite 7 Features:

  • 🗜️ Compressão avançada com Rollup 4
  • 🎯 Code splitting automático por rotas
  • 📊 Bundle analysis integrado
  • Lightning CSS para processamento rápido

🧪 Tecnologias Experimentais

Funcionalidades Preparadas:

  • 🔬 React Compiler - Pronto para ativar quando estável
  • 🚀 Server Components - Estrutura preparada
  • 📡 Streaming - APIs preparadas para SSR futuro

🤝 Contribuindo

  1. Fork o projeto
  2. Crie uma branch: git checkout -b feature/nova-funcionalidade
  3. Commit: git commit -m 'Adiciona nova funcionalidade'
  4. Push: git push origin feature/nova-funcionalidade
  5. Abra um Pull Request

🛠️ Desenvolvimento

Estrutura de Componentes:

StartScreen (entrada + GitHub)
    ↓
QuestionScreen (quiz interativo)
    ↓
ResultsScreen (resultado + IA)

Estado Global:

  • useState para estado local
  • useCallback para funções otimizadas
  • useMemo para cálculos caros

📄 Licença

Este projeto está sob a licença MIT - veja o arquivo LICENSE para detalhes.

🆘 Solução de Problemas

Erro na API do GitHub

# Verifique conectividade
curl -I https://api.github.com

Erro na API do Gemini

# Teste sua API key
curl -H "Content-Type: application/json" \
     -d '{"contents":[{"parts":[{"text":"Hello"}]}]}' \
     "https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=YOUR_KEY"

Problemas de Build

# Limpe completamente
rm -rf node_modules package-lock.json dist
npm install
npm run build

Performance Issues

  • Verifique o React DevTools Profiler
  • Use npm run build para análise de bundle
  • Ative React Compiler para otimizações automáticas

📞 Suporte

  • 🐛 Bugs: Abra uma issue no repositório
  • 💡 Features: Discussões na aba Discussions
  • 📚 Docs: Consulte a documentação do React 19 e Vite 7
  • 🎓 Aprendizado: Confira os recursos oficiais das tecnologias

Desenvolvido com ❤️ usando as tecnologias mais modernas do ecossistema React.

About

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors