Module sc2002_fypms
Package controllers

Class StudentController


  • public class StudentController
    extends UserController
    The StudentController class is responsible for handling the student-specific user interface and user interactions. It extends the UserController class and provides functionality for students to view available projects, view allocated projects, send project allocation requests, request project title changes, and request FYP deregistration. This class utilizes IProjectStudentService and IRequestStudentService to interact with the underlying data and perform necessary operations.
    • Field Detail

      • sc

        private static final java.util.Scanner sc
        Scanner object to get input from the user.
      • requestView

        protected static IRequestView requestView
        The project view used to display project information.
    • Constructor Detail

      • StudentController

        public StudentController()
        Constructs an instance of the StudentController class.
    • Method Detail

      • start

        public void start()
        Starts the student menu and prompts the user to select an action. The method loops until the user chooses to exit the student menu.
      • viewAllocatedProject

        private void viewAllocatedProject​(IProjectView projectView)
        Displays the allocated project for the current student.
        Parameters:
        projectView - the IProjectView instance for displaying project information
      • viewAvailableProject

        private void viewAvailableProject​(IProjectView projectView)
        Displays the list of available projects for the current student.
        Parameters:
        projectView - the IProjectView instance for displaying project information
      • viewRequests

        private void viewRequests()
        Displays the request status and history for the current student.
      • sendProjectToCoordinator

        private void sendProjectToCoordinator()
        Sends a project allocation request to the FYP coordinator.
      • requestTitleChange

        private void requestTitleChange()
        Sends a request for a project title change.
      • requestFYPDeregistration

        private void requestFYPDeregistration()
        Sends a request for FYP deregistration.