Welcome to the Research Center Management System! This application is designed to streamline and organize the activities of the KFUPM Research Center by providing a centralized platform for managing projects, teams, members, and machines. This system aims to eliminate miscommunication, enhance collaboration, and optimize the utilization of resources within the research center.
Before you begin, ensure that you have a valid user account provided by our IT department. The authentication system in place will grant you access to the application based on your role—admin, team member, or team leader.
Upon signing in, you will be directed to your personalized dashboard. Here's what you can expect:
- Manage Projects: Add new projects, assign teams, and update project details 📝
- Manage Teams: Create teams, assign leaders and members, and track team activities 👥
- Manage Machines: Add new machines, schedule view, and view machine analytics 🔧
- Analytics: Visualize machine utilization, project distribution, and member activity 📈
- View Teams: Access information about all teams you are part of 👥
- View Projects: See details about projects assigned to your team 📋
- View Machines: Check the availability and schedule machines for your team's use 🔧
- Reserve Machines: If available, reserve machines for your project's research ⏰
- Navigate to the "Manage Projects" section
- Add new projects by providing project details
- Assign teams to projects and update project information
- Go to the Teams section
- Create teams, assign leaders, and add team members
- Access the Machines section
- Add new machines with relevant details
- Schedule machine usage, and keep track of reservations
- Explore the analytics section to visualize key metrics
- Identify the most utilized machines, active teams, and projects
- Check the "View Teams" section to see details about all teams you are a part of
- Navigate to the "View Projects" section to access information about projects assigned to your team
- Explore the "View Machines" section to see the availability and schedule of machines for your team
- If available, reserve machines for your project's research in the "Reserve Machines" section
- Make sure the FXML file specifies the correct controller class by adding the fx:controller attribute to the root element of the FXML file
- Check that the labels in the FXML file have the correct fx:id attributes set. The fx:id should match the corresponding @FXML-annotated field in the controller class
- Verify that the file paths in the FileReader are correct. Make sure the file paths point to the actual location of the text files ("MachineFile.txt", "TeamsFile.txt", "Member.txt", "Project.txt", etc..). You can use absolute paths or relative paths depending on your file structure
- Verify that the FXML file is being loaded from the correct location. Ensure that the FXML file is in the same directory as the Java source files or provide the correct relative or absolute path to the FXML file when calling FXMLLoader.load()
- Implement error handling and validation to provide a better user experience and prevent unexpected crashes or data inconsistencies
-
Null Pointer Exception ❌: Ensure that you have correctly annotated the UI components with @FXML and that they match the corresponding IDs in the FXML file. Also, verify that the FXML file is being loaded properly.
-
Incorrect UI rendering 🖥️: Check that the FXML file is structured correctly and that the necessary UI components are defined. Ensure that the controller class is associated with the FXML file when loading it.
-
Event handling not working 🔄: Confirm that you have defined the event handlers in the controller class and that they are properly wired to the UI components in the FXML file using the onAction or similar attributes.