{"id":24319386,"url":"https://github.com/ladunjexa-pbl/reactnative-calculator","last_synced_at":"2026-02-09T00:31:00.326Z","repository":{"id":151751179,"uuid":"587960338","full_name":"ladunjexa-pbl/reactnative-calculator","owner":"ladunjexa-pbl","description":"well-designed Calculator App with theme-mode feature built with React Native Expo \u0026 TypeScript ♾️","archived":false,"fork":false,"pushed_at":"2024-05-13T18:28:14.000Z","size":676,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-05T06:05:35.915Z","etag":null,"topics":["basic-calculator","context-api","cross-platform","expo","react-native","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ladunjexa-pbl.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-01-12T01:39:54.000Z","updated_at":"2025-01-13T22:59:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"1f99a27f-23fe-44b9-a188-223d8bb09971","html_url":"https://github.com/ladunjexa-pbl/reactnative-calculator","commit_stats":null,"previous_names":["ladunjexa/reactnative-calculator","ladunjexa-pbl/reactnative-calculator"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ladunjexa-pbl/reactnative-calculator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ladunjexa-pbl%2Freactnative-calculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ladunjexa-pbl%2Freactnative-calculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ladunjexa-pbl%2Freactnative-calculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ladunjexa-pbl%2Freactnative-calculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ladunjexa-pbl","download_url":"https://codeload.github.com/ladunjexa-pbl/reactnative-calculator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ladunjexa-pbl%2Freactnative-calculator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29251448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T22:49:53.206Z","status":"ssl_error","status_checked_at":"2026-02-08T22:49:51.384Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["basic-calculator","context-api","cross-platform","expo","react-native","typescript"],"created_at":"2025-01-17T15:28:47.792Z","updated_at":"2026-02-09T00:31:00.312Z","avatar_url":"https://github.com/ladunjexa-pbl.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\u003cdiv align=\"center\"\u003e\n\n  ![Project Banner](readme_assets/readme_banner.png#gh-dark-mode-only)\n  ![Project Banner](readme_assets/readme_banner-light.png#gh-light-mode-only)\n\n  \u003ch1\u003eCalculator App\u003c/h1\u003e\n  \n  \u003cp\u003e\n    Minimalistic \u003cb\u003eCalculator Application\u003c/b\u003e with beautiful UI and Theme-Mode feature\n  \u003c/p\u003e\n  \n\u003c!-- Badges --\u003e\n\u003cp\u003e\n  \u003ca href=\"https://github.com/ladunjexa/Calculator-App/graphs/contributors\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/contributors/ladunjexa/Calculator-App\" alt=\"contributors\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/last-commit/ladunjexa/Calculator-App\" alt=\"last update\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ladunjexa/Calculator-App/network/members\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/ladunjexa/Calculator-App\" alt=\"forks\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ladunjexa/Calculator-App/stargazers\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/ladunjexa/Calculator-App\" alt=\"stars\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ladunjexa/Calculator-App/issues/\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues/ladunjexa/Calculator-App\" alt=\"open issues\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ladunjexa/Calculator-App/blob/master/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/ladunjexa/Calculator-App.svg\" alt=\"license\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n   \n \u003ch4\u003e\n    \u003ca href=\"https://github.com/ladunjexa/Calculator-App/\"\u003eView Demo\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/ladunjexa/Calculator-App\"\u003eDocumentation\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/ladunjexa/Calculator-App/issues/\"\u003eReport Bug\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/ladunjexa/Calculator-App/issues/\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/h4\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003c!-- Table of Contents --\u003e\n\u003cdetails\u003e\n\n\u003csummary\u003e\n\n# :notebook_with_decorative_cover: Table of Contents\n\n\u003c/summary\u003e\n\n- [About the Project](#star2-about-the-project)\n  * [Folder Structure](#bangbang-folder-structure)\n  * [Tech Stack](#space_invader-tech-stack)\n- [Getting Started](#toolbox-getting-started)\n  * [Installation](#gear-installation)\n  * [Run Locally](#running-run-locally)\n- [Contributing](#wave-contributing)\n- [License](#warning-license)\n- [Contact](#handshake-contact)\n- [Acknowledgements](#gem-acknowledgements)\n\n\u003c/details\u003e  \n\n\u003c!-- About the Project --\u003e\n## :star2: About the Project\n\n\u003cdiv align=\"center\"\u003e \n  \u003cimg src=\"readme_assets/Calculator-mockup.png\" height=\"auto\" width=\"90%\"/\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\nBasic and elegant Cross-Platform Calculator App with beautiful and minimalistic User-Interface include Theme-Mode feature (Dark/Light) - built with React Native \u0026 TypeScript\n\n\u003c!-- Folder Structure --\u003e\n### :bangbang: Folder Structure\n\nHere is the folder structure of Calculator-App.\n```\nCalculator-App/\n|- src/\n  |-- components/\n  |-- context/\n  |-- styles/\n|- App.tsx\n```\n\nNow, lets dive into the src folder.\n\n### components\n\n`Button.tsx` - `MyKeyboard.tsx`\n\n`Button.tsx` - Implementation of Button component used for numbers, operations and etc.\n\n`MyKeyboard.tsx` - Implementation of calculator keyboard and functionality using React Hooks.\n\n### context\n\n`ThemeContext.tsx`\n\nContext lets components pass information deep down without explicity passing props. ThemeContext call [\u003ccode\u003ecreateContext\u003c/code\u003e] outside any component to create Theme-Mode context,\ninitialize with 'light' value.\n\n### styles\n\n`constants.ts` - Contain only one constant object which holds hexadecimal code of colors used by app.\n\n`theme.tsx` - Impelmentation of a global theme by creating StyleSheet style for buttons and keyboard ui.\n\n\u003cbr /\u003e\n\n\u003c!-- TechStack --\u003e\n### :space_invader: Tech Stack\n![React Native](https://img.shields.io/badge/react_native-%2320232a.svg?style=for-the-badge\u0026logo=react\u0026logoColor=%2361DAFB)\n![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)\n![Expo](https://img.shields.io/badge/expo-1C1E24?style=for-the-badge\u0026logo=expo\u0026logoColor=#D04A37)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- Getting Started --\u003e\n## \t:toolbox: Getting Started\n\n\u003c!-- Installation --\u003e\n### :gear: Installation\n\n#### Step 1:\nDownload or clone this repo by using the link below:\n\n```bash\n https://github.com/ladunjexa/Calculator-App\n```\n\n#### Step 2:\nAs a standard practice of React Native projects for managing packages it is prefer to use Yarn, but you can also use NPM.\ntherefore, at the root folder, execute the following command in console to get the required dependencies:\n\n```bash\n  yarn\n```\n\n#### Step 3:\n\nAt the root folder execute the following command in console to get start the application\n\n```bash\n  expo start\n```\n\n\u003c!-- Run Locally --\u003e\n### :running: Run Locally\n\n#### Step 1:\n\nAt the main folder execute the following command in console to get the required dependencies:\n\n```bash\n  yarn\n```\n\n#### Step 2:\n\nAt the root folder execute the following command in console to get start the application\n\n```bash\n  expo start\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- Contributing --\u003e\n## :wave: Contributing\n\n\u003ca href=\"https://github.com/ladunjexa/Calculator-App/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=ladunjexa/Calculator-App\" /\u003e\n\u003c/a\u003e\n\n\nContributions are always welcome!\n\nSee [`contributing.md`](https://contributing.md/) for ways to get started.\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- License --\u003e\n## :warning: License\n\nDistributed under the MIT License. See [LICENSE.txt](https://github.com/ladunjexa/Calculator-App/blob/main/LICENSE) for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- Contact --\u003e\n## :handshake: Contact\n\nLiron Abutbul - [@lironabutbul6](https://twitter.com/lironabutbul6) - [@ladunjexa](https://t.me/ladunjexa)\n\nProject Link: [https://github.com/ladunjexa/Calculator-App](https://github.com/ladunjexa/Calculator-App)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- Acknowledgments --\u003e\n## :gem: Acknowledgements\n\nThis section used to mention useful resources and libraries that used in Calculator App\n\n - [expo.dev](https://expo.dev/)\n - #codewithbeto\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fladunjexa-pbl%2Freactnative-calculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fladunjexa-pbl%2Freactnative-calculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fladunjexa-pbl%2Freactnative-calculator/lists"}