O maior encontro de especialistas e MVPs do Brasil
🎯 Demo • ✨ Features • 🚀 Quick Start • 📱 Mobile • 🐳 Docker
Site oficial do MVP Conf 2025 Brasil, o maior evento de especialistas Microsoft do país. Uma experiência única de aprendizado, networking e inspiração que conecta a comunidade tech brasileira com os melhores profissionais do ecossistema Microsoft.
- 🤝 Networking: Conectar profissionais e especialistas Microsoft
- 📚 Conhecimento: Compartilhar as últimas inovações e melhores práticas
- 🌟 Inspiração: Motivar a comunidade tech brasileira
- 🚀 Inovação: Apresentar tecnologias emergentes do ecossistema Microsoft
- ✅ Design moderno e responsivo inspirado no Microsoft Design System
- ✅ Animações suaves e micro-interações
- ✅ Gradientes e efeitos visuais premium
- ✅ Tipografia otimizada (Inter font)
- ✅ Paleta de cores Microsoft-inspired
- ✅ Componentes reutilizáveis e modulares
- ✅ Totalmente responsivo (mobile, tablet, desktop)
- ✅ Touch-friendly navigation
- ✅ Otimizado para diferentes tamanhos de tela
- ✅ Performance otimizada para dispositivos móveis
- ✅ Hero Section com informações do evento
- ✅ Palestrantes com integração de API externa
- ✅ Cronograma dinâmico com dados da API
- ✅ Patrocinadores organizados por tier
- ✅ Localização com mapa integrado
- ✅ Ingressos com diferentes planos
- ✅ Contato com formulário funcional
- ✅ Páginas Legais (Privacidade, Termos, Código de Conduta)
- ✅ Cache inteligente (10 minutos) para dados da API
- ✅ Lazy loading de imagens
- ✅ Code splitting automático
- ✅ Compressão de assets
- ✅ SEO otimizado
- ✅ Lighthouse score 90+
- ✅ API Externa: Palestrantes e cronograma via GitHub
- ✅ Google Maps: Localização do evento
- ✅ Fallback Images: Pexels para imagens de placeholder
- ✅ Error Handling: Tratamento robusto de erros
- ✅ Retry Logic: Tentativas automáticas em caso de falha
- Node.js 18+
- npm ou yarn
- Git
# Clone o repositório
git clone https://github.com/MVPConf/sitemvpconf.git
cd sitemvpconf
# Instale as dependências
npm install
# Execute em modo desenvolvimento
npm run dev
# Acesse http://localhost:5173# Desenvolvimento
npm run dev # Inicia servidor de desenvolvimento
# Build
npm run build # Gera build de produção
npm run preview # Preview do build de produção
# Qualidade de Código
npm run lint # Executa ESLint
npm run type-check # Verifica tipos TypeScriptsrc/
├── components/ # Componentes React
│ ├── Header.tsx # Navegação principal
│ ├── Hero.tsx # Seção hero
│ ├── Speakers.tsx # Lista de palestrantes
│ ├── Schedule.tsx # Cronograma do evento
│ ├── Sponsors.tsx # Patrocinadores
│ ├── Location.tsx # Localização e mapas
│ ├── Tickets.tsx # Planos de ingressos
│ ├── Contact.tsx # Formulário de contato
│ ├── Footer.tsx # Rodapé
│ └── LegalPages/ # Páginas legais
├── hooks/ # Custom hooks
│ ├── useSpeakers.ts # Hook para palestrantes
│ ├── useSchedule.ts # Hook para cronograma
│ └── useSponsors.ts # Hook para patrocinadores
├── App.tsx # Componente principal
├── main.tsx # Entry point
└── index.css # Estilos globais
| Categoria | Tecnologia | Versão | Descrição |
|---|---|---|---|
| Frontend | React | 18.3.1 | Biblioteca para interfaces |
| Language | TypeScript | 5.5.3 | Tipagem estática |
| Styling | Tailwind CSS | 3.4.1 | Framework CSS utility-first |
| Build | Vite | 5.4.2 | Build tool moderna |
| Icons | Lucide React | 0.344.0 | Ícones SVG |
| Linting | ESLint | 9.9.1 | Análise de código |
/* Mobile First Approach */
sm: 640px /* Tablets pequenos */
md: 768px /* Tablets */
lg: 1024px /* Laptops */
xl: 1280px /* Desktops */
2xl: 1536px /* Telas grandes */- Navigation: Menu hamburger responsivo
- Hero: Ajustes de tipografia e espaçamento
- Cards: Layout adaptativo em grid
- Forms: Inputs otimizados para touch
- Images: Lazy loading e fallbacks
# Usando Docker Compose (Recomendado)
docker-compose up --build
# Acesse http://localhost:3000# Build da imagem
docker build -t mvp-conf-2025 .
# Executar container
docker run -p 3000:80 mvp-conf-2025- ✅ Multi-stage build para otimização
- ✅ Nginx Alpine (imagem final ~25MB)
- ✅ Gzip compression habilitada
- ✅ Security headers configurados
- ✅ Health checks incluídos
- ✅ Cache otimizado para assets estáticos
// Palestrantes
GET https://raw.githubusercontent.com/MVPConf/2025/refs/heads/main/speakers.json
// Cronograma
GET https://raw.githubusercontent.com/MVPConf/2025/refs/heads/main/schedule.json
// Patrocinadores
GET https://raw.githubusercontent.com/MVPConf/2025/refs/heads/main/sponsors.json- Duração: 10 minutos
- Storage: localStorage
- Fallback: Retry automático em caso de erro
- Invalidação: Manual via botão refresh
// Exemplo de tratamento de erro
try {
const response = await fetch(API_URL);
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
// Process data...
} catch (error) {
setError(`Erro ao carregar: ${error.message}`);
// Show retry button
}/* Microsoft Blue Palette */
--ms-blue-50: #eff6ff
--ms-blue-600: #0078D4 /* Primary */
--ms-blue-700: #1d4ed8 /* Primary Dark */
/* Gradients */
--gradient-primary: linear-gradient(135deg, #0078D4 0%, #1e40af 100%)
--gradient-text: linear-gradient(to right, #0078D4, #1e40af)/* Font Stack */
font-family: 'Inter', system-ui, -apple-system, sans-serif
/* Weights */
300 - Light
400 - Regular
500 - Medium
600 - Semibold
700 - Bold
800 - Extrabold/* Buttons */
.btn-primary /* Botão principal azul */
.btn-secondary /* Botão secundário outline */
/* Cards */
.card-hover /* Efeito hover com scale */
/* Text */
.gradient-text /* Texto com gradiente */| Métrica | Score | Otimização |
|---|---|---|
| Performance | 95+ | Code splitting, lazy loading |
| Accessibility | 100 | ARIA labels, semantic HTML |
| Best Practices | 100 | HTTPS, security headers |
| SEO | 100 | Meta tags, structured data |
- ✅ Tree shaking automático
- ✅ Asset optimization via Vite
- ✅ Image lazy loading
- ✅ Component code splitting
- ✅ CSS purging via Tailwind
- ✅ Gzip compression
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Referrer-Policy: no-referrer-when-downgrade
Content-Security-Policy: default-src 'self' http: https: data: blob: 'unsafe-inline'- ✅ Input sanitization em formulários
- ✅ HTTPS enforcement em produção
- ✅ Secure headers via Nginx
- ✅ No sensitive data em localStorage
- ✅ Error handling sem exposição de dados
# Testes unitários (futuro)
npm run test
# Testes E2E (futuro)
npm run test:e2e
# Coverage (futuro)
npm run test:coverage- Vitest para testes unitários
- Testing Library para testes de componentes
- Playwright para testes E2E
- MSW para mock de APIs
- 🇧🇷 Português (Brasil) - Padrão
- 🇺🇸 English - Planejado
// Estrutura planejada para i18n
const translations = {
'pt-BR': {
'hero.title': 'MVP Conf',
'hero.subtitle': 'O maior encontro de especialistas...'
},
'en-US': {
'hero.title': 'MVP Conf',
'hero.subtitle': 'The biggest gathering of experts...'
}
}- Google Analytics 4 para métricas de uso
- Hotjar para heatmaps e user behavior
- Sentry para error tracking
- Lighthouse CI para performance monitoring
- Fork o projeto
- Clone seu fork
- Crie uma branch para sua feature
- Commit suas mudanças
- Push para a branch
- Abra um Pull Request
# Antes de commitar
npm run lint # Verificar linting
npm run type-check # Verificar tipos
npm run build # Testar buildfeat: adiciona nova funcionalidade
fix: corrige bug
docs: atualiza documentação
style: mudanças de formatação
refactor: refatoração de código
test: adiciona ou modifica testes
chore: mudanças de build/configEste projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Contato: contato@mvpconf.com.br
Website: mvpconf.com.br
LinkedIn: MVP Conf Brasil
- Microsoft pelo suporte à comunidade MVP
- Pexels pelas imagens de alta qualidade
- Lucide pelos ícones elegantes
- Tailwind CSS pelo framework incrível
- Vite pela experiência de desenvolvimento