Skip to content

Commit 2c28c56

Browse files
committed
Added readme and license
1 parent 903becf commit 2c28c56

File tree

3 files changed

+324
-0
lines changed

3 files changed

+324
-0
lines changed

.gitignore

Lines changed: 214 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,214 @@
1+
# Created by https://www.toptal.com/developers/gitignore/api/java,eclipse,intellij+all,netbeans,maven
2+
# Edit at https://www.toptal.com/developers/gitignore?templates=java,eclipse,intellij+all,netbeans,maven
3+
4+
### Eclipse ###
5+
.metadata
6+
bin/
7+
tmp/
8+
*.tmp
9+
*.bak
10+
*.swp
11+
*~.nib
12+
local.properties
13+
.settings/
14+
.loadpath
15+
.recommenders
16+
17+
# External tool builders
18+
.externalToolBuilders/
19+
20+
# Locally stored "Eclipse launch configurations"
21+
*.launch
22+
23+
# PyDev specific (Python IDE for Eclipse)
24+
*.pydevproject
25+
26+
# CDT-specific (C/C++ Development Tooling)
27+
.cproject
28+
29+
# CDT- autotools
30+
.autotools
31+
32+
# Java annotation processor (APT)
33+
.factorypath
34+
35+
# PDT-specific (PHP Development Tools)
36+
.buildpath
37+
38+
# sbteclipse plugin
39+
.target
40+
41+
# Tern plugin
42+
.tern-project
43+
44+
# TeXlipse plugin
45+
.texlipse
46+
47+
# STS (Spring Tool Suite)
48+
.springBeans
49+
50+
# Code Recommenders
51+
.recommenders/
52+
53+
# Annotation Processing
54+
.apt_generated/
55+
.apt_generated_test/
56+
57+
# Scala IDE specific (Scala & Java development for Eclipse)
58+
.cache-main
59+
.scala_dependencies
60+
.worksheet
61+
62+
# Uncomment this line if you wish to ignore the project description file.
63+
# Typically, this file would be tracked if it contains build/dependency configurations:
64+
#.project
65+
66+
### Eclipse Patch ###
67+
# Spring Boot Tooling
68+
.sts4-cache/
69+
70+
### Intellij+all ###
71+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
72+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
73+
74+
# User-specific stuff
75+
.idea/**/workspace.xml
76+
.idea/**/tasks.xml
77+
.idea/**/usage.statistics.xml
78+
.idea/**/dictionaries
79+
.idea/**/shelf
80+
81+
# AWS User-specific
82+
.idea/**/aws.xml
83+
84+
# Generated files
85+
.idea/**/contentModel.xml
86+
87+
# Sensitive or high-churn files
88+
.idea/**/dataSources/
89+
.idea/**/dataSources.ids
90+
.idea/**/dataSources.local.xml
91+
.idea/**/sqlDataSources.xml
92+
.idea/**/dynamic.xml
93+
.idea/**/uiDesigner.xml
94+
.idea/**/dbnavigator.xml
95+
96+
# Gradle
97+
.idea/**/gradle.xml
98+
.idea/**/libraries
99+
100+
# Gradle and Maven with auto-import
101+
# When using Gradle or Maven with auto-import, you should exclude module files,
102+
# since they will be recreated, and may cause churn. Uncomment if using
103+
# auto-import.
104+
# .idea/artifacts
105+
# .idea/compiler.xml
106+
# .idea/jarRepositories.xml
107+
# .idea/modules.xml
108+
# .idea/*.iml
109+
# .idea/modules
110+
# *.iml
111+
# *.ipr
112+
113+
# CMake
114+
cmake-build-*/
115+
116+
# Mongo Explorer plugin
117+
.idea/**/mongoSettings.xml
118+
119+
# File-based project format
120+
*.iws
121+
122+
# IntelliJ
123+
out/
124+
125+
# mpeltonen/sbt-idea plugin
126+
.idea_modules/
127+
128+
# JIRA plugin
129+
atlassian-ide-plugin.xml
130+
131+
# Cursive Clojure plugin
132+
.idea/replstate.xml
133+
134+
# SonarLint plugin
135+
.idea/sonarlint/
136+
137+
# Crashlytics plugin (for Android Studio and IntelliJ)
138+
com_crashlytics_export_strings.xml
139+
crashlytics.properties
140+
crashlytics-build.properties
141+
fabric.properties
142+
143+
# Editor-based Rest Client
144+
.idea/httpRequests
145+
146+
# Android studio 3.1+ serialized cache file
147+
.idea/caches/build_file_checksums.ser
148+
149+
### Intellij+all Patch ###
150+
# Ignore everything but code style settings and run configurations
151+
# that are supposed to be shared within teams.
152+
153+
.idea/*
154+
155+
!.idea/codeStyles
156+
!.idea/runConfigurations
157+
158+
### Java ###
159+
# Compiled class file
160+
*.class
161+
162+
# Log file
163+
*.log
164+
165+
# BlueJ files
166+
*.ctxt
167+
168+
# Mobile Tools for Java (J2ME)
169+
.mtj.tmp/
170+
171+
# Package Files #
172+
*.jar
173+
*.war
174+
*.nar
175+
*.ear
176+
*.zip
177+
*.tar.gz
178+
*.rar
179+
180+
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
181+
hs_err_pid*
182+
replay_pid*
183+
184+
### Maven ###
185+
target/
186+
pom.xml.tag
187+
pom.xml.releaseBackup
188+
pom.xml.versionsBackup
189+
pom.xml.next
190+
release.properties
191+
dependency-reduced-pom.xml
192+
buildNumber.properties
193+
.mvn/timing.properties
194+
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
195+
.mvn/wrapper/maven-wrapper.jar
196+
197+
# Eclipse m2e generated files
198+
# Eclipse Core
199+
.project
200+
# JDT-specific (Eclipse Java Development Tools)
201+
.classpath
202+
203+
### NetBeans ###
204+
**/nbproject/private/
205+
**/nbproject/Makefile-*.mk
206+
**/nbproject/Package-*.bash
207+
build/
208+
nbbuild/
209+
dist/
210+
nbdist/
211+
.nb-gradle/
212+
213+
# End of https://www.toptal.com/developers/gitignore/api/java,eclipse,intellij+all,netbeans,maven
214+

LICENSE

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Copyright 2024 Md Asaduzzaman Atik, Zynotic Studios
2+
3+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4+
5+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6+
7+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

README.md

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# GUI Calculator
2+
3+
GUI Calculator is a graphical user interface (GUI) calculator application built using Java and JavaFX. This project serves as a basic demonstration of a functional calculator with an intuitive interface and custom styling.
4+
5+
## Table of Contents
6+
- [Requirements](#requirements)
7+
- [Installation](#installation)
8+
- [Usage](#usage)
9+
- [Features](#features)
10+
- [Technologies Used](#technologies-used)
11+
- [Project Structure](#project-structure)
12+
- [Contributing](#contributing)
13+
- [License](#license)
14+
- [Acknowledgements](#acknowledgements)
15+
16+
## Requirements
17+
- Java Development Kit (JDK) 11 or higher
18+
- Apache Maven 3.6.0 or higher
19+
20+
## Installation
21+
22+
### Clone the Repository
23+
```bash
24+
git clone https://github.com/mrasadatik/noor-e-sabab.academic.cse110.gui-calculator.git
25+
cd noor-e-sabab.academic.cse110.gui-calculator
26+
```
27+
28+
### Build the Project
29+
```bash
30+
mvn clean install
31+
```
32+
33+
### Run the Application
34+
```bash
35+
mvn clean javafx:run
36+
```
37+
38+
## Usage
39+
Once the application is running, you will see a calculator interface with the following functionalities:
40+
- Basic arithmetic operations (addition, subtraction, multiplication, division)
41+
- Decimal point for fractional numbers
42+
- Square root calculation
43+
- Delete the last entered character
44+
- Clear the display
45+
- Turn off the calculator
46+
47+
## Features
48+
- **Custom Styling:** The calculator uses a custom font and theme for an enhanced user experience.
49+
- **Responsive Layout:** Buttons and display are arranged in a grid layout that adapts to different screen sizes.
50+
- **Basic Arithmetic Operations:** Perform addition, subtraction, multiplication, and division.
51+
- **Additional Functions:** Square root calculation and delete functionality.
52+
- **Exit Confirmation:** Double confirmation to turn off the calculator.
53+
54+
## Technologies Used
55+
- **Java 11:** The core programming language.
56+
- **JavaFX:** For building the GUI.
57+
- **Atlantafx Base:** A modern theme for JavaFX applications.
58+
- **Maven:** For project management and build automation.
59+
60+
## Project Structure
61+
```plaintext
62+
gui-calculator/
63+
64+
├── src/
65+
│ ├── main/
66+
│ │ ├── java/
67+
│ │ │ └── com/
68+
│ │ │ └── zynotic/
69+
│ │ │ └── studios/
70+
│ │ │ └── noor/
71+
│ │ │ └── calculator/
72+
│ │ │ └── App.java
73+
│ │ ├── resources/
74+
│ │ └── assets/
75+
│ │ └── fonts/
76+
│ │ └── images/
77+
│ │
78+
│ └── test/
79+
│ └── java/
80+
81+
├── pom.xml
82+
├── README.md
83+
└── LICENSE
84+
```
85+
86+
## Contributing
87+
Contributions are welcome! If you have suggestions for improvements, please follow these steps:
88+
1. Fork the repository.
89+
2. Create a new branch (`git checkout -b feature-branch`).
90+
3. Make your changes.
91+
4. Commit your changes (`git commit -m 'Add new feature'`).
92+
5. Push to the branch (`git push origin feature-branch`).
93+
6. Create a Pull Request.
94+
95+
## License
96+
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.
97+
98+
## Acknowledgements
99+
- Special thanks to the developers of JavaFX and the Atlantafx Base theme for their great tools and libraries.
100+
101+
---
102+
103+
Thank you for using GUI Calculator! If you have any questions or feedback, feel free to reach out or open an issue on GitHub.

0 commit comments

Comments
 (0)