Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🧮 Calculadora Científica Moderna (PWA)

Uma calculadora científica desenvolvida com HTML, CSS e JavaScript puro, utilizando arquitetura modular, parser matemático próprio (sem eval) e interface moderna estilo aplicativo.

Projeto construído com foco em:

  • 🧠 Engine matemática real
  • 🏗 Arquitetura escalável
  • 🎨 UI moderna e minimalista
  • 📱 Progressive Web App (PWA)
  • 💾 Persistência com LocalStorage

✨ Funcionalidades

🧠 Matemática

  • Operações básicas: + - * /
  • Parênteses ( )
  • Potência
  • Fatorial x!
  • Raiz quadrada
  • Logaritmo base 10 log
  • Logaritmo natural ln
  • Funções trigonométricas: sin, cos, tan
  • Constantes: π e e
  • Alternância entre DEG e RAD

🧩 Arquitetura

js/
│
├── main.js
│
├── core/
│   ├── engine.js
│   ├── tokenizer.js
│   ├── parser.js
│   └── evaluator.js
│
└── ui/
    ├── controller.js
    └── state.js

🔹 Engine Matemática

  • Tokenização personalizada
  • Conversão para notação pós-fixa (Shunting Yard)
  • Avaliação via pilha
  • Sem uso de eval()
  • Tratamento de erros (divisão por zero, raiz negativa, etc.)

🎨 Interface

  • Design moderno e minimalista
  • Bordas suaves (24px)
  • Sombras profundas e realistas
  • Gradiente sutil no display
  • Microinterações (efeito scale ao clicar)
  • Tema claro / escuro
  • Layout responsivo (mobile-friendly)

💾 Recursos Avançados

  • Sistema de memória: M+, M-, MR
  • Persistência de tema, modo e memória
  • Suporte ao teclado físico
  • Histórico do cálculo atual
  • Animação ao atualizar resultado

📱 Progressive Web App (PWA)

  • Instalável como aplicativo
  • Funciona offline
  • Manifest configurado
  • Service Worker registrado

🛠 Tecnologias Utilizadas

  • HTML5
  • CSS3 (Grid Layout)
  • JavaScript ES6+
  • ES Modules
  • LocalStorage API
  • Service Worker API

📦 Como Executar Localmente

git clone https://github.com/Rodrigodvb/calculadora-cientifica.git
cd calculadora-cientifica

Abra o arquivo:

index.html

Ou utilize um servidor local:

npx serve

🎯 Objetivo do Projeto

Demonstrar domínio de JavaScript sem frameworks, implementar um parser matemático real e aplicar arquitetura modular escalável com uma UI de nível profissional.


📄 Licença

MIT License

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages