Nossa Stack Tecnológica
O que é "Stack Tecnológica"?
Imagine que você está construindo uma casa. Você precisa de diferentes materiais: tijolos, cimento, madeira, tinta, etc. Na programação, a "stack" são as diferentes tecnologias (linguagens, ferramentas, serviços) que usamos para construir nossos sistemas.
Cada tecnologia tem uma função específica, como os materiais de construção:
- Java e Quarkus: A base do PDV Java como aplicação web local no navegador e de outras trilhas Java do ecossistema
- Python: A "linguagem" que usamos para escrever programas
- Flask: A "estrutura" para criar sites e APIs
- HTML/CSS: A "aparência" dos sites
- Docker: A "embalagem" para transportar programas
O que muda para você
Java é uma linguagem de programação muito usada em sistemas de empresas, bancos e lojas. É estável, segura e roda em praticamente qualquer computador.
Quarkus ajuda a organizar APIs e integrações locais com foco em desempenho. O operador do PDV Java abre o navegador em http://localhost:8080/login — não é janela JavaFX.
Onde usamos: No
CaraCore PDV Java (Quarkus), uma aplicação web local no navegador, e na
Gestão de Frotas do
CaraCore CSO (Quarkus + Qute/HTMX). O
CaraCore PDV (Rust + Tauri 2) é desktop, com stack separada (Tauri + React).
Posicionamento V3 padronizado: foco em pequenos e médios negócios, direção prática para PIX Split 2027 e transparência sobre o que já está pronto e o que está em evolução.
Detalhe opcional
No CaraCore PDV utilizamos:
- Java 25: LTS (set/2025) com virtual threads, Valhalla e melhorias de performance
- Quarkus: backend local, APIs REST, persistência e integrações do domínio
- Navegador: interface operacional do checkout atual em
http://localhost:8080/login
- SQLite: banco local soberano para operação e contingência
- Qualidade validada: 1072 testes verdes na validação consolidada de 2026-06-02
Persona de negócio padronizada: gestor(a) de loja PME em crescimento, com equipe enxuta e pressão por fluxo de caixa, buscando simplificar a rotina fiscal e financeira no caixa.
Projeto de referência: hub projeto-pdv.html (duas linhas) · manual Java em pdv/. Veja também Transparência V3 + Persona.
O que muda para você
Rust é uma linguagem moderna focada em segurança e performance. Tauri empacota o aplicativo para Windows com instalador em português, mantendo o programa enxuto.
Onde usamos: no CaraCore PDV (Rust + Tauri 2), release v0.1.4, piloto Windows. O CaraCore PDV Java (canal estável v3.2.7-free) é uma aplicação web local no navegador e permanece independente do Rust.
Detalhe opcional
Monorepo caracore-pdv-rust com crates Rust, app Tauri e frontend React. Releases via GitHub Actions e scripts Python com validação de artefatos pt-BR.
Projeto de referência: CaraCore PDV (Rust + Tauri 2)
O que muda para você
Python é como o "idioma" que usamos para falar com o computador. É uma linguagem muito popular porque é fácil de aprender e ler - quase como inglês!
Flask é como um "kit de ferramentas" que nos ajuda a criar sites e sistemas mais rapidamente. Em vez de fazer tudo do zero, o Flask já tem peças prontas que podemos usar.
Analogia: Se Python é o idioma, Flask é como ter um dicionário e guia de conversação prontos!
Detalhe opcional
Python é nossa linguagem principal para backend. Escolhemos Python 3.11+ pelas melhorias de performance e novas funcionalidades de tipagem.
Frameworks utilizados:
- Flask: APIs REST, webhooks, sistemas web
- FastAPI: APIs de alta performance (projetos futuros)
- SQLAlchemy: ORM para banco de dados
- Pytest: Testes automatizados
Projetos que usam:
- Área 51 (Flask + JWT)
- Cara Core MKT (scripts Python da Sala)
- Minerador 4.0 e Circuito Ferradura (Python educacional)
O que você precisa aprender:
Básico (Primeira semana):
- Sintaxe Python básica
- Variáveis, listas, dicionários
- Funções e classes
- Primeiro "Hello World" Flask
Intermediário (Segunda semana):
- APIs REST com Flask
- Conectar com banco de dados
- Tratamento de erros
- Testes básicos com Pytest
O que muda para você
Se um site fosse uma casa:
- HTML: É a "estrutura" - as paredes, portas, janelas
- CSS: É a "decoração" - cores, móveis, estilo
- JavaScript: É a "funcionalidade" - luz que acende, campainha que toca
Bootstrap é como comprar uma casa semi-pronta - já vem com decoração básica bonita, você só personaliza os detalhes!
Detalhe opcional
Nosso frontend prioriza responsividade e acessibilidade:
HTML5:
- Semântica correta (header, main, section)
- Acessibilidade (aria-labels, alt text)
- Meta tags para SEO
CSS3:
- Flexbox e Grid para layouts
- Variáveis CSS para temas
- Media queries para responsividade
- Animações e transições
JavaScript:
- ES6+ (async/await, arrow functions)
- Fetch API para chamadas HTTP
- DOM manipulation
- Vanilla JS (sem jQuery)
Foco em Mobile-First
Todos nossos projetos são desenvolvidos pensando primeiro em celulares, depois adaptados para desktop. Isso garante que funcionem bem em qualquer dispositivo!
O que muda para você
Imagine que você quer entrar em uma festa exclusiva:
OAuth 2.1: É como ter um "segurança da festa" que verifica sua identidade usando seu RG (Google/Microsoft) em vez de criar uma nova carteirinha só para a festa.
OpenID Connect: Além de verificar se você é quem diz ser, também pergunta "que informações suas a festa pode usar?" (nome, email, etc.)
Vantagens:
- Não precisa criar nova senha
- Mais seguro que senhas tradicionais
- Você controla que dados compartilha
- Se mudar senha do Google, não afeta outros sites
Detalhe opcional
Implementamos as melhores práticas de segurança modernas:
OAuth 2.1 (RFC 6749 atualizada):
- Authorization Code Flow com PKCE
- Sem Implicit Flow (descontinuado)
- Refresh tokens seguros
OpenID Connect:
- ID tokens JWT assinados
- UserInfo endpoint para dados do usuário
- Descoberta automática de endpoints
Implementações:
- Reino OIDC: Ensina os conceitos
- Área 51: Implementa em produção
- Circuito Ferradura: produto educacional em evolução para lógica, ábaco romano e Python; uso pessoal gratuito e conversa institucional para escolas
Recursos de Aprendizado
📚 Teoria:
- Reino OIDC — Baixar EXE (FREE), aprendizado gamificado; Premium somente após confirmação de pagamento e registro LGPD
- RFCs oficiais (OAuth 2.1, OIDC Core)
- Documentação Google/Microsoft
🔧 Prática:
- Área 51 - Sistema real em produção
- Laboratório local com Flask
- Testes de segurança e penetração
O que muda para você
Azure: É como "alugar computadores na Microsoft" em vez de comprar. Seus programas ficam rodando nos servidores da Microsoft pelo mundo todo.
Docker: Imagine que você quer mandar um presente pelo correio. Você coloca numa caixa com tudo que precisa (produto + proteção + instruções). Docker faz isso com programas - empacota tudo numa "caixa" que funciona em qualquer computador.
GitHub Pages: É como um "terreno grátis na internet" onde você pode construir seu site. Ideal para sites simples que não precisam de banco de dados.
Detalhe opcional
Nossa infraestrutura prioriza custo-benefício e facilidade de manutenção:
Azure Web Apps:
- Deploy direto do GitHub
- Scaling automático
- SSL/TLS gerenciado
- Logs centralizados
Docker:
- Containers para desenvolvimento local
- Docker Compose para multi-container
- Imagens otimizadas (Alpine Linux)
GitHub Pages:
- Sites estáticos (Reino OIDC, docs)
- Jekyll para blogs (futuro)
- Custom domains com SSL
Importante para Estagiários
Nunca commite credenciais (senhas, chaves API) no Git! Use variáveis de ambiente e Azure Key Vault para segredos em produção.
Tecnologias Complementares
Nota: Esta seção enumera tecnologias adicionais usadas na Cara Core. Para aprender mais sobre cada uma, pesquise na documentação oficial ou em tutoriais externos.
- Java 21/25: CaraCore PDV Java (aplicação web local), Ink Agenda, CaraCore CSO, Helianto, RU Soberano, Hub (WAR)
- Python 3.11+: Área 51, MKT, Minerador 4.0, automações
- Rust: CaraCore PDV (Tauri 2)
- JavaScript / TypeScript: React (PDV Rust, Helianto) e Vue 3 (CSO Transportes)
- SQL: SQLite local (PDV, Ink, CSO Transportes, Hub) e PostgreSQL (CSO Frotas, Helianto)
- Quarkus: CaraCore PDV Java (aplicação web local) e CSO Frotas (também backend da oficina CSO Transportes)
- Jakarta EE / WAR Tomcat: CaraCore Hub
- Flask 3.x: Área 51 e APIs Python leves
- Spring Boot 4: Helianto Condominium (Java 25)
- Tauri 2: CaraCore PDV (Rust)
- Qute + HTMX + Alpine.js: SSR da Gestão de Frotas (CSO)
- Vue.js 3: SPA da oficina CSO Transportes
- React: Linha piloto do PDV e Helianto
- Bootstrap 5: UI responsivo (matriz, wiki e lojas)
- Alpine.js: interatividade leve nas telas SSR
- PostgreSQL 16: CSO Frotas (produção) e Helianto
- SQLite: bunker local (PDV, Ink Agenda, CSO Transportes, Hub)
- MySQL/MariaDB: alternativa SQL em contextos pontuais
- MongoDB: NoSQL para dados flexíveis (futuro)
- Redis: cache e sessões (quando o desenho pedir)
- SQLAlchemy: ORM Python
- Hibernate: ORM Java (JPA)
- Prisma: ORM Node.js (futuro)
- JDBC: Java Database Connectivity
- Alembic: Migrations Python
- Apache Tomcat 10: Java Servlet
- WildFly 37: Jakarta EE completo
- Gunicorn: WSGI Python
- uWSGI: Servidor Python alternativo
- Nginx: Reverse proxy e load balancer
- REST APIs: Padrão de comunicação
- GraphQL: APIs flexíveis (planejado)
- Webhook handlers: Eventos assíncronos
- API Mercado Livre: E-commerce
- Microsoft Graph API: Azure integrations
- Google APIs: OAuth e serviços
- Requests: HTTP client
- Pandas: Análise de dados
- Pillow: Manipulação de imagens
- Pygame: Desenvolvimento de jogos
- PyJWT: JSON Web Tokens
- Cryptography: Criptografia
- Python-dotenv: Variáveis de ambiente
- Gson/Jackson: Serialização JSON
- Apache HttpClient: HTTP requests
- JUnit 5: Testes unitários
- Mockito: Mocking para testes
- Log4j/SLF4J: Logging
- Apache Commons: Utilitários
- Google Analytics: Analytics web
- Azure Monitor: Monitoramento cloud
- Python logging: Logs estruturados
- Sentry: Error tracking (planejado)
- ELK Stack: Logs centralizados (futuro)
- Maven: Build Java
- Gradle: Build Java alternativo
- pip: Gerenciador de pacotes Python
- Poetry: Gerenciamento Python avançado
- npm/yarn: Gerenciador JavaScript
- Webpack/Vite: Bundlers frontend
- Markdown: Documentação textual
- Mermaid.js: Diagramas como código
- Swagger/OpenAPI: Documentação de APIs
- JSDoc: Documentação JavaScript
- Sphinx: Documentação Python
- JavaDoc: Documentação Java
- HTTP/HTTPS: Protocolo web
- WebSocket: Comunicação bidirecional
- REST: Arquitetura de APIs
- JSON/XML: Formatos de dados
- JWT: Tokens de autenticação
- CORS: Cross-Origin Resource Sharing
Ferramentas de Desenvolvimento
Visual Studio Code (obrigatório):
- Python extension (Microsoft)
- GitLens para Git avançado
- Prettier para formatação
- Live Server para desenvolvimento web
Git + GitHub:
- Feature branches obrigatórias
- Pull Requests com code review
- GitHub Actions para CI/CD
- Issues para tracking de bugs
Testes
- Pytest: Testes unitários Python
- Coverage.py: Cobertura de código
- Postman: Testes de API manual
Qualidade de Código
- Black: Formatação Python
- Flake8: Linting Python
- ESLint: Linting JavaScript
Roadmap de Aprendizado para Estagiários
Semana 1
Fundamentos
- Python básico
- HTML/CSS
- Git básico
Semana 2
Web Development
- Flask básico
- JavaScript
- Bootstrap
Semana 3
APIs & Security
- APIs REST
- OAuth básico
- Testes
Semana 4+
DevOps & Advanced
- Docker
- Azure deploy
- CI/CD
Pronto para Começar?
Agora que você conhece nossa stack, vamos colocar a mão na massa!