Uma calculadora matemática completa implementada em TypeScript, disponível tanto em versão de linha de comando (CLI) quanto em interface web interativa. Este projeto demonstra a aplicação de conceitos de TypeScript, manipulação do DOM e boas práticas de desenvolvimento.
- Funcionalidades
- Tecnologias Utilizadas
- Estrutura do Projeto
- Instalação
- Como Usar
- Demonstração
- Aprendizados
- ➕ Soma
- ➖ Subtração
- ✖️ Multiplicação
- ➗ Divisão
- 🔢 Potência (ex: 2³)
- √ Raiz Quadrada
- 📝 Histórico completo de operações
- 🕒 Registro de data e hora das operações
- 🔄 Interface responsiva para dispositivos móveis e desktop
- 🛡️ Tratamento de erros (divisão por zero, raiz de número negativo)
- 🎨 Design moderno e intuitivo
- TypeScript: Tipagem estática para JavaScript
- Node.js: Ambiente de execução JavaScript
- readline-sync: Biblioteca para entrada de dados no terminal
- HTML5/CSS3: Estrutura e estilização da interface web
- DOM API: Manipulação dinâmica da interface
MathSystem/
├── src/
│ ├── index.ts # Código fonte da calculadora CLI com histórico
│ └── index.js # Código compilado JavaScript
├── web/
│ ├── index.html # Interface HTML da calculadora web
│ ├── script.ts # Código TypeScript para a versão web
│ ├── script.js # Código compilado JavaScript para web
│ └── tsconfig.json # Configuração TypeScript para web
├── package.json # Configuração do projeto Node.js
└── tsconfig.json # Configuração TypeScript principal
-
Clone este repositório:
git clone https://github.com/seu-usuario/MathSystem.git cd MathSystem -
Instale as dependências:
npm install
-
Compile o TypeScript:
npx tsc
-
Execute a aplicação no terminal:
node src/index.js
-
Siga as instruções no terminal:
- Escolha uma operação (1-6)
- Insira os números solicitados
- Visualize o resultado
- Acesse o histórico de operações (opção 7)
-
Abra o arquivo
web/index.htmlem qualquer navegador moderno -
Use a interface para:
- Selecionar a operação desejada no menu dropdown
- Inserir os números nos campos apropriados
- Clicar em "Calcular" para obter o resultado
- Visualizar o histórico de operações na seção direita
=== Calculadora TypeScript com Histórico ===
Escolha uma operação:
1 - Soma
2 - Subtração
3 - Multiplicação
4 - Divisão
5 - Potência
6 - Raiz Quadrada
7 - Exibir Histórico
0 - Sair
Digite sua opção: 1
Digite o primeiro número: 10
Digite o segundo número: 5
Resultado: 15
A interface web apresenta um design moderno com:
- Seletor de operações
- Campos de entrada para números
- Área de resultado destacada
- Histórico de operações em tempo real
Este projeto demonstra vários conceitos importantes:
- Tipagem em TypeScript: Uso de interfaces e tipos para garantir segurança de tipos
- Adaptação entre ambientes: Mesma lógica implementada em CLI e web
- Manipulação do DOM: Interação dinâmica com elementos HTML
- Tratamento de erros: Validação de entradas e operações inválidas
- Design responsivo: Interface adaptável a diferentes tamanhos de tela
Desenvolvido como parte do curso de Análise e Desenvolvimento de Sistemas.
⭐ Se este projeto foi útil para você, considere dar uma estrela no GitHub!
