yarn
ornpm install
yarn start
ornpm start
yarn test
First of all, how I started this project? I did some research about Casio Calculators. I couldn't find the manual of the SL-300SV Calculator but I learned how it works from the manuals of other Casio calculators.
I found an old Casio calculator in the offfice of my current company. I got interaction(look & feel) ideas from it.
Auto Power Off Feature
http://docs-europe.electrocomponents.com/webdocs/1398/0900766b81398fe8.pdf
Calculator power turns off automatically if you do not perform any operation within 10 minutes.
Memory Functions
I wasn't sure about storing memory data to localStorage. It would be more problematic to replicate a real hardware.
Code Splitting
This calculator has some advanced functions that's why I spent most time on code-splitting.
I splitted keys by types like main, basic, memory, math, number
.
I wrote keys.js
then put key combinations on layout.js
, every arrays in layout.js
are rows.
I built processors for every key types. They looks like Redux -> Reducers.
Key Codes
(would be better)
You don't need to click the key. If you press the key on your keyboard, we're triggering that functionality with animation.