{"id":15055583,"url":"https://github.com/kerciu/javafx-calculator","last_synced_at":"2026-01-02T06:07:55.811Z","repository":{"id":255995480,"uuid":"848151821","full_name":"Kerciu/javafx-calculator","owner":"Kerciu","description":"🧮🔢 Simple Calculator application made in Java ☕ using JavaFX 🖼️ allowing fundamental math functions ✖️➗➕➖🟰","archived":false,"fork":false,"pushed_at":"2024-09-18T21:31:31.000Z","size":226,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T00:36:55.148Z","etag":null,"topics":["calculator","calculator-application","gui","java","javafx","javafx-application","javafx-gui","math","ui","user-experience-design","user-interface","ux"],"latest_commit_sha":null,"homepage":"","language":"Java","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/Kerciu.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":"2024-08-27T08:23:33.000Z","updated_at":"2024-09-18T21:31:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"213a97f4-d154-4eff-ab9a-f8c78182b088","html_url":"https://github.com/Kerciu/javafx-calculator","commit_stats":null,"previous_names":["kerciu/javafx-calculator"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kerciu%2Fjavafx-calculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kerciu%2Fjavafx-calculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kerciu%2Fjavafx-calculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kerciu%2Fjavafx-calculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kerciu","download_url":"https://codeload.github.com/Kerciu/javafx-calculator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243532532,"owners_count":20306152,"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":["calculator","calculator-application","gui","java","javafx","javafx-application","javafx-gui","math","ui","user-experience-design","user-interface","ux"],"created_at":"2024-09-24T21:44:40.243Z","updated_at":"2026-01-02T06:07:55.711Z","avatar_url":"https://github.com/Kerciu.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧮 JavaFX Calculator App\n\n## 📜 Description\n\nA simple calculator application built using JavaFX for the user interface. This desktop application supports basic arithmetic operations such as addition, subtraction, multiplication, and division. The app features a responsive user interface with optional dark mode and includes utility classes for parsing operations and managing calculator states.\n\n## 📝 Notes\n\n- Ensure you have **Java 8** or later installed. 🌟\n- You need a properly configured Java Development Kit (JDK) to run the application. 🛠️\n- In case of missing dependencies, verify that all required libraries are included in the `lib` folder or declared in the `pom.xml` file. 🔍\n\n## 🛠️ Usage\n\n1. **Launch the Application**: \n   - Run the application by executing the `MainClass.java` in the `com.calculator.main` package. 🚀\n\n2. **Calculator Interface**:\n   - **Numeric Buttons**: Click or input numbers directly to the calculator. 🔢\n   - **Operation Buttons**: Choose operations such as addition (`+`), subtraction (`-`), multiplication (`×`), division (`÷`) and more. ➕➖✖️➗\n   - **Display**: The main display shows the current input and the result of calculations. 📟\n   - **Equals Button**: Compute the result of the current (binary) operation. ✅\n   - **Clear and Clear Entry Buttons**: Reset the current input or operation. 🧹\n   - **Dark Mode Toggle**: Switch between light and dark modes for a customized user experience. 🌙\n\n3. **Core Functionality**:\n   - **Binary Operations**: Handle operations that involve two numbers (e.g., `5 + 3`). \n   - **Unary Operations**: Execute operations with a single operand (e.g., reciprocal or percentage).\n\n## 📁 Project Structure\n\n- `src/` - Source code directory\n  - `com/`\n    - `calculator/` - Java source files\n      - `constants/` - Operator constants used throughout the application\n      - `controller/` - Contains `CalculatorController.java` for managing the interface logic\n      - `darkMode/` - Includes classes for handling dark mode (`DarkModeSwitcher.java`, `ToggleSwitch.java`)\n      - `icon/` - Utility for loading application icons (`StageIconLoader.java`)\n      - `main/` - Main entry point of the application (`MainClass.java`)\n      - `parsers/` - Logic for parsing binary and unary operations\n      - `state/` - Manages calculator state and operations (`CalculatorState.java`)\n    - `test/` - Unit tests for the parser and constants classes\n  - `resources/` - Resource directory\n    - `assets/images/` - Icons and images for the application (`calculator.png`)\n    - `styles/` - CSS for styling the application (`styles.css`)\n    - `calculator-main.fxml` - FXML layout file for the calculator interface\n\n## 🖼️ Screenshots\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/images/calculator-light.png\" alt=\"Calculator Light UI\" width=\"300\" /\u003e\n  \u003cimg src=\"assets/images/calculator-dark.png\" alt=\"Calculator Dark UI\" width=\"300\" /\u003e\n\u003c/p\u003e\n\n## 📜 License\n\nThis project is licensed under the MIT License. See the [LICENCE](LICENCE) file for details. 📝\n\n## 📬 Contact\nFor questions, feedback, or support:\n- **Author**: Kacper Górski\n- **LinkedIn**: [Kacper Górski](https://www.linkedin.com/in/kacper-gorski-se)\n- **Instagram**: [@kxcper.gorski](https://www.instagram.com/kxcper.gorski)\n- **X**: [@Kerciuu](https://x.com/Kerciuu)\n- **GitHub**: [Kerciu](https://github.com/Kerciu)\n- **Support**: Email [kacper.gorski.contact@gmail.com](mailto:kacper.gorski.contact@gmail.com)\n  \nFor any issues, please open a GitHub issue. 🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkerciu%2Fjavafx-calculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkerciu%2Fjavafx-calculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkerciu%2Fjavafx-calculator/lists"}