Giter VIP home page Giter VIP logo

grade-management's Introduction

CS611- Final Project: Grading System

Name


--Jianqi Ma-- –[email protected] --U11094654--

--Baiqing Lyu-- –[email protected] --U03215838--

--Quang Nguyen-- –[email protected] --U32906640--

Files


src/main/java/entry/Main.java - Main entry point for the program
src/main/java/gui/State.java - State to be shared among the GUI components
src/main/java/gui/Assignment.java - Assignment detail and student grade table
src/main/java/gui/Assignment.form - GUI template for java swing
src/main/java/gui/AssignmentSelection.java - State to be shared among the GUI components
src/main/java/gui/AssignmentSelection.form - GUI template for java swing
src/main/java/gui/CourseSelection.java - Course selection GUI
src/main/java/gui/CourseSelection.form - GUI template for java swing
src/main/java/gui/CourseTitle.java - Shows the courses
src/main/java/gui/CourseTitle.form - GUI template for java swing
src/main/java/gui/LetterGrades.java - Shows the letter grades for a class
src/main/java/gui/LetterGrades.form - GUI template for java swing
src/main/java/gui/MainFrame.java - Chains together the other GUI components
src/main/java/gui/MainFrame.form - GUI template for java swing
src/main/java/gui/SemesterSelection.java - Semester selection GUI
src/main/java/gui/SemesterSelection.form - GUI template for java swing
src/main/java/gui/UserLogin.java - User login screen
src/main/java/gui/UserLogin.form - GUI template for java swing
src/main/java/utils/Assignment.java - Class design for the assignment object
src/main/java/utils/ClassPathTuple.java - Create a tuple class to bind together a class name and their CSV path
src/main/java/utils/CSVReader.java - Reads CSV files and outputs the corresponding objects
src/main/java/utils/CSVWriter.java - Writes objects to CSV file at specified file paths
src/main/java/utils/GradedClass.java - Class object that contains the students, assignments, and grades
src/main/java/utils/Semester.java - Semester object that holds classes and information about the semester
src/main/java/utils/Student.java - Student object that holds their respective grades and assignments in addition to their names and ID.

Notes


  • Semester management
    • Users can import semesters from a CSV file
    • Users can add new semesters, add and remove classes from semesters
    • All operations done on a semester will be save to the same CSV file
  • Class management
    • Users can import classes from a CSV file
    • Stastics of classes are shown directly in a table
    • Class information that is changed can be saved to the same file
    • Delete classes that are no longer needed
    • Curves can be applied onto classes
    • Grades and their brackets can be applied and modified
  • Student management
    • Users can view detailed information of students in each class
    • Students can be removed and added to classes
    • Student information can be manually edited and saved
  • Assignment management
    • Assignments can be created and deleted
    • Assignments can have their weight changed
  • Other features
    • User login
    • Material theme

How to run


  1. Navigate to the main Project Directory after downloading the files
  2. Install Apache Maven and JDK 18
  3. Run the following command in the main project directory: mvn clean compile assembly:single
  4. The packaged jar will be created in the target directory
  5. Click on the jar to open the software, note that the default java version must also be 18
  6. If default version is not, then execute the jar on the command line via java -jar file.jar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.