OpenGPA is the ultimate GPA calculator that lets you track and manage your grades effortlessly. Unlike most calculators, it offers separate fields for quizzes, exams, homework, and more, eliminating the need for tedious manual calculations. Plus, with the ability to save your progress, OpenGPA ensures you never lose track of your GPA throughout the semester. Say goodbye to the hassle and stay organized with OpenGPA!
- Download Stats
- Features
- User Instructions
- Contributing
- Code of Conduct
- Reporting Bugs
- Current Issues
- Create and Save Semester Information: Users can create and save semester details, allowing them to track multiple semesters.
- Populate Courses: Add courses for each semester and input course-specific information like name and grading policies.
- Add Weighted Categories: Courses can have weighted categories like quizzes, exams, homework, etc., allowing users to track their grades for each component.
- Drop Policy: OpenGPA can automatically drop a specified number of the lowest scores for each category when calculating final grades.
To get started with OpenGPA, follow these steps:
-
Download and Install Java:
- Visit Java Downloads and install the appropriate version of Java for Windows.
- Follow the installation instructions and ensure that
javais added to your system's PATH environment variable.
-
Navigate to the Source Code:
- In the Terminal, navigate to the project directory:
cd folder-name/src
- In the Terminal, navigate to the project directory:
-
Compile App.java:
- Once you're inside the src folder, compile App.java:
javac App.java
- Once you're inside the src folder, compile App.java:
-
Run the Application:
- Once you're inside the project folder, run the Main method to start the application:
java Main
- Once you're inside the project folder, run the Main method to start the application:
-
Do not Forget to Save
- Before exiting the semester menu, save to avoid losing previously added scores, weighted categories, and courses
-
To Re-enter OpenGPA
- Repeat steps 3-5 and then load previously saved data.
-
Download and Install Java:
- Open the Terminal and run the following command to install Java via Homebrew:
brew install openjdk@11
- Open the Terminal and run the following command to install Java via Homebrew:
-
Navigate to the Source Code:
- In the Terminal, navigate to the project directory:
cd folder-name/src
- In the Terminal, navigate to the project directory:
-
Compile App.java:
- Once you're inside the src folder, compile App.java:
javac App.java
- Once you're inside the src folder, compile App.java:
-
Run the Application:
- Run the program using:
java Main
- Run the program using:
-
Do not Forget to Save
- Before exiting the semester menu, save to avoid losing previously added scores, weighted categories, and courses
-
To Re-enter OpenGPA
- Repeat steps 3-5 and then load previously saved data.
-
Download and Install Java:
- Open the Terminal and install Java using the package manager:
sudo apt install openjdk-11-jdk
- Open the Terminal and install Java using the package manager:
-
Navigate to the Source Code:
- In the Terminal, navigate to the project directory:
cd folder-name/src
- In the Terminal, navigate to the project directory:
-
Compile App.java:
- Once you're inside the src folder, compile App.java:
javac App.java
- Once you're inside the src folder, compile App.java:
-
Run the Application:
- Start the application by running:
java Main
- Start the application by running:
-
Do not Forget to Save
- Before exiting the semester menu, save to avoid losing previously added scores, weighted categories, and courses
-
To Re-enter OpenGPA
- Repeat steps 3-5 and then load previously saved data.
Thank you for your interest in contributing to OpenGPA! Contributions are always welcome. Please follow the guidelines below to ensure that your contributions can be easily reviewed and merged.
-
Fork the Repository
- Start by forking the repository to your own GitHub account. This will allow you to freely make changes without affecting the original codebase.
-
Clone the Forked Repository
- After forking the repo, clone it to your local machine:
git clone https://github.com/your-username/OpenGPA.git
- After forking the repo, clone it to your local machine:
-
Create a New Branch
- Create a new branch for your work. The branch name should describe the work you’re doing:
git checkout -b feature-name
- Create a new branch for your work. The branch name should describe the work you’re doing:
-
Make Your Changes
- Implement your feature, fix, or improvement. Ensure your code follows the project's coding standards and is well-documented.
- If working on a bug, please make sure it is well-reported and addressed.
-
Test Your Changes
- Run tests locally to ensure your changes do not break existing functionality. We use pytest for testing:
pytest
- Run tests locally to ensure your changes do not break existing functionality. We use pytest for testing:
-
Commit Your Changes
- Commit your changes with a clear and concise message explaining the purpose of your changes:
git commit -m "Add feature or fix bug"
- Commit your changes with a clear and concise message explaining the purpose of your changes:
-
Push Your Changes
- Push your changes to your forked repository:
git push origin feature-name
- Push your changes to your forked repository:
-
Create a Pull Request
- Create a pull request (PR) on the original repository. Select your branch and describe the changes you've made.
- Provide a clear description of the issue you're addressing and the solution you've implemented.
This project adheres to the Contributor Covenant Code of Conduct. By participating in this project, you agree to abide by its terms. Please be respectful and considerate towards others in the community.
If you encounter a bug, please open an issue on the GitHub Issues page. When reporting a bug:
- Provide steps to reproduce the issue.
- Include any relevant logs, error messages, or screenshots.
- Mention the version of Java and any other dependencies you're using.
- Does not calculate GPA for semester just a grade for each course 0-100. Would need a credits field and a way to update a letter grade every time grade changes
- Non aesthetic UI
- Fix getOverallScore
- small weights like .05 will be displayed as 0.
- when the course calc total gets it it is getting the rounded integer so small weights will just be counted as 0
- Weights are being dissplayed in fields as floats
- Allow scores to be added using loops so you dont need to repress 4 over and over and count score number and display to user before prompting so that they can easily remember which one they are adding
- When it sorts it does so permanetly so when the user asks to display scores the are not in chronological. Covert to out of place sorting method