Usage Guide
Getting Started
GradeForge is a command-line interface (CLI) application for managing student records, grades, and academic performance. This guide will walk you through the basic usage of the tool.
Installation
# Clone the repository
git clone https://github.com/username/gradeforge.git
# Navigate to the project directory
cd gradeforge
# Run the application
python gradeforge.pyUser Interface (CLI)
The command-line interface is managed by the run(self) method within the GradeForge class (gradeforge.py). It presents a text-based menu to the user.
Main Menu Options
========================================
Main Menu:
1. Add New Student
2. Assign Subject to Student
3. Input Grades for Subject
4. View Student Performance Summary
5. Generate Full Student Report
6. List All Students
7. List Available Subjects (Templates)
8. Export All Data to CSV
9. Save Data
10. Delete Student
0. Exit
========================================
Enter your choice:Basic Workflow
- Add a Student
Select option 1 from the main menu. You'll be prompted to enter the student's name, ID, and type (High School, College, or Generic). For College students, you'll also need to specify a major.
- Assign Subjects
Select option 2 to assign a subject to a student. You'll need to provide the student ID and select from available subject templates or create a new one.
- Input Grades
Select option 3 to input grades for a specific subject. You'll need to provide the student ID, subject code, and then enter grade details (description and score/letter grade).
- View Performance
Select option 4 to view a summary of a student's performance, including subject averages, overall average/GPA, and academic status.
- Generate Reports
Select option 5 to generate a detailed report for a specific student, including all enrolled subjects, grades, and performance metrics.
- Save Data
Select option 9 to save all data to the
gradeforge_data.jsonfile. Data is also automatically saved when exiting the application (option 0).
Example Workflow
Here's an example of a typical workflow:
- Start
gradeforge.py. Data is loaded ifgradeforge_data.jsonexists. - Select "1. Add New Student"
- Enter name "John Doe", ID "JD001", type "2" (College), major "History".
- System confirms: "Student John Doe (JD001) added successfully as CollegeStudent."
- Select "7. List Available Subjects". (Assume HIST101 exists as a template).
- Select "2. Assign Subject to Student"
- Enter student ID "JD001".
- Enter subject code "HIST101".
- Enter credit hours "3" for this student's enrollment.
- System confirms assignment.
- Select "3. Input Grades for Subject"
- Enter student ID "JD001", subject code "HIST101".
- Enter description "Essay 1", letter grade "A".
- System confirms grade added.
- Enter description "Final Exam", letter grade "B+".
- System confirms grade added. Enter "done".
- Select "4. View Student Performance Summary"
- Enter student ID "JD001".
- System displays GPA and academic status for John Doe.
- Select "9. Save Data". System confirms data saved to
gradeforge_data.json. - Select "0. Exit". System saves data again and exits.