All Classes and Interfaces
Class
Description
A class manages the account of a user
The AccountManagerTest class contains test cases for the AccountManager class.
This class is used to interact with the user and retrieve various attributes such as domain, password, UserID, and username.
The BoundaryStrings class provides constant strings for UI elements, such as a separator and a logo.
This class is responsible for handling the change password feature for a given user account.
The ChangePage class is responsible for changing the console output screen to a new blank screen.
This class is responsible for testing the functionality of changing a student's password through the ChangeAccountPassword interface.
A class that represents a coordinator
This class provides a user interface for coordinators to view their main page.
CoordinatorManager class
The CoordinatorRepository class is a repository that stores Coordinator objects
through file I/O operations.
A utility class for reading CSV files and returning their
contents as a list of rows, each represented as a list of
strings.
This class tests the
CSVReader
class.This interface represents an object that can be displayed in a formatted string and a splitter.
A test class to check the functionality of AttributeGetter class which returns the user type/domain of the user.
The EmptyID class provides a utility method for checking if an ID is empty.
This class provides a UI for the user to exit the system.
This class is used to test loading the faculty repository.
The FacultyRepository class is a repository for storing and managing Supervisor objects in a file
through file I/O operations.
This class is used to test saving the faculty repository.
This class provides a user interface (UI) for retrieving the UserID associated with a given username in case the user forgot it.
This class is used to clear the database and reload the main class.
The IntGetter class provides a static method for reading integer input from the user through the console.
This class contains the location of the resources.
This class provides a user interface (UI) for the user to login.
A test class that tests the functionality of the LoginUI class.
This class provides a UI for the user to logout.
The Main class is the entry point of the program.
Interface for objects that can be mapped to/from a Map.
The Model interface represents an entity that can be stored in the application's data storage.
The
ModelAlreadyExistsException
class is a custom exception that is thrown when an attempt is made to add a
model to a repository that already contains a model with the same ID.The
ModelNotFoundException
class is a custom exception that is thrown when a requested model cannot be found
in a repository.The ModelViewer class is responsible for displaying single or lists of objects that implement the Displayable interface.
This is a custom annotation that can be used to mark methods, fields, parameters,
local variables, and type usages as not nullable.
A class for mapping characters to control the output of objects.
The
PageBackException
class is a custom exception that is thrown when a user attempts to navigate back from a UI page
where it is not allowed.The PasswordHashManager class provides a utility for hashing passwords using the SHA3-256 algorithm.
The PasswordIncorrectException class represents an exception that is thrown when a password entered by the user is incorrect.
A class manages the password of a user
The PasswordReader class is responsible for reading a password from the console.
A test class that retrieves the password from user input using
AttributeGetter
and prints it to the console.The class of the project
A class manages the project
The ProjectRepository class is a repository that manages the persistence and retrieval of Project objects
through file I/O operations.
This enum represents the status of a project
Displays the project details.
This class is used to test the functionality of the ProjectViewer class,
which displays all projects stored in the system.
The Repository abstract class provides the basic functionality for storing, retrieving, and managing a list of model objects.
Provides a rule for filtering model objects in the repository.
This interface represents a request.
A factory class that creates a specific type of Request based on the input parameters.
RequestManager class
The RequestRepository class is a repository that stores and retrieves Request objects
through file I/O operations.
This enum represents the status of a request
This enum represents the type of the request
An abstract class for managing objects that can be mapped to and from key-value pairs.
The StringAndMapConvertor class provides methods to convert a String representation of a map to a Map object,
and vice versa.
This class represents a student, which is a type of user.
This class represents a student request to change the title of a project
A request for a student to deregister from a project
This is a Java class that represents the main page of a student in a system or application.
This class tests the functionality of the StudentMainPage class.
StudentManager class
The StudentRegistrationManagerTest class is used to test the methods of the StudentManager class that are related to
registering and deregistering a student to a project.
A class that represents a student registration request
The StudentRepository class is a repository for managing the persistence of student objects
through file I/O operations.
This enum represents the status of a student
The
StudentStatusException
class is a custom exception that is thrown when a student's status prevents them from
performing an action related to selecting a project for their FYP.This class represents a supervisor, which is a type of user.
The
SupervisorMainPage
class is a boundary class that represents the main page for a supervisor in a system.SupervisorManager class
A test class that tests the functionality of the SupervisorManager class.
Thrown when a supervisor has reached the maximum number of students they can supervise.
A class that represents a transfer student request
This class is the entry point of the application.
A class that represents a user
The UserAdder class provides a utility for adding users to the database.
A class that provides a utility for getting the domain of a user.
A factory class for creating User objects based on the given parameters.
A class that provides a utility for finding users in the database.
This class is used to test the faculty repository.
The UserTest class contains JUnit tests for the User class and its subclasses: Student, Coordinator, and Supervisor.
This enum represents the type of the user
The
UserTypeGetter
class provides utility methods for obtaining different forms of user types.The UserUpdater class provides a utility for updating users in the database.
This class tests the
ProjectViewer.viewAvailableProjectList(Student)
method
by creating a new project, registering a student, and displaying the list of available projects
for the student to choose from.This class provides a UI for the user to view his/her profile.
This class provides a UI for the user to enter the system.
A class to test the functionality of the Welcome class.