{"id":20358247,"url":"https://github.com/sigfriedcub1990/simple-calculator","last_synced_at":"2025-03-04T17:48:26.406Z","repository":{"id":112050730,"uuid":"542637710","full_name":"sigfriedCub1990/simple-calculator","owner":"sigfriedCub1990","description":"A simple calculator app","archived":false,"fork":false,"pushed_at":"2022-09-28T14:38:25.000Z","size":492,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-15T01:43:18.052Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sigfriedCub1990.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-28T14:38:12.000Z","updated_at":"2023-03-05T03:35:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"f473b185-81b0-4532-841e-6192be8013f2","html_url":"https://github.com/sigfriedCub1990/simple-calculator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sigfriedCub1990%2Fsimple-calculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sigfriedCub1990%2Fsimple-calculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sigfriedCub1990%2Fsimple-calculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sigfriedCub1990%2Fsimple-calculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sigfriedCub1990","download_url":"https://codeload.github.com/sigfriedCub1990/simple-calculator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241895356,"owners_count":20038512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T23:26:07.040Z","updated_at":"2025-03-04T17:48:26.381Z","avatar_url":"https://github.com/sigfriedCub1990.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Frontend Mentor - Calculator app solution\n\nThis is a solution to the [Calculator app challenge on Frontend Mentor](https://www.frontendmentor.io/challenges/calculator-app-9lteq5N29). Frontend Mentor challenges help you improve your coding skills by building realistic projects.\n\n## Table of contents\n\n- [Overview](#overview)\n  - [Running the project](#run-project)\n  - [The challenge](#the-challenge)\n  - [Screenshot](#screenshot)\n  - [Links](#links)\n- [My process](#my-process)\n  - [Built with](#built-with)\n  - [What I learned](#what-i-learned)\n  - [Useful resources](#useful-resources)\n- [Author](#author)\n\n## Overview\n\n### Run project\n\nAfter cloning this project using `git` you may want to do the following:\n\n```sh\n~/ npm i # In order to install all the dependencies\n~/ npm test # To run the unit tests\n~/ npm run e2e # To run cypress and the e2e tests\n~/ npm run dev # In order to start a dev-server with hot-reloading\n```\n\n### The challenge\n\nUsers is be able to:\n\n- See the size of the elements adjust based on their device's screen size\n- Perform mathmatical operations like addition, subtraction, multiplication, and division\n- Adjust the color theme based on their preference\n- Persist selected theme after page reload\n\n### Screenshot\n\n#### Mobile view\n\n![mobile view](./screenshots/mobile-view.png)\n\n#### Desktop view\n\n![desktop view](./screenshots/desktop-view.png)\n\n#### Dark theme\n\n![dark theme](./screenshots/dark-theme.png)\n\n### Links\n\n- Solution URL: [Add solution URL here](https://your-solution-url.com)\n- Live Site URL: [Add live site URL here](https://your-live-site-url.com)\n\n## My process\n\n### Built with\n\n- Semantic HTML5 markup\n- Flexbox\n- CSS Grid\n- Mobile-first workflow\n- Vanilla JS\n- SASS\n- Parcel\n- Jest\n- Cypress\n\n### What I learned\n\n- Data structures (Stack)\n- Expressions transformation and evaluation (infix to prefix _and_ prefix evaluation)\n- Support multiple themes using SASS\n- Pub/Sub pattern (to notify different components of theme changes)\n\n### Useful resources\n\n- [Infix to prefix converter](https://www.free-online-calculator-use.com/infix-to-prefix-converter.html) - This page explains with clear examples how to convert from info to prefix notation\n- [Prefix expression evaluator](https://www.free-online-calculator-use.com/prefix-evaluator.html) - This page explains with clear examples how to evaluate an expression in prefix notation\n- [SASS theming](https://medium.com/@dmitriy.borodiy/easy-color-theming-with-scss-bc38fd5734d1) - Provides a clever and simple way of supporting multiple themes if using SASS pre-processor\n\n## Author\n\n- Website - [Ruben](https://rsgarxia.is-a.dev)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsigfriedcub1990%2Fsimple-calculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsigfriedcub1990%2Fsimple-calculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsigfriedcub1990%2Fsimple-calculator/lists"}