gitextract_3g0h0e_9/ ├── D1/ │ └── Sequence Diagram/ │ ├── Sequence1.drawio │ ├── Sequence2.drawio │ └── sequence3.drawio └── D2/ ├── .vscode/ │ └── settings.json ├── data/ │ ├── bookings.csv │ ├── equipment.csv │ └── users.csv ├── lib/ │ └── javacsv.jar └── src/ ├── Main.java ├── data/ │ ├── .gitkeep │ ├── BookingDAO.java │ ├── EquipmentDAO.java │ └── UserDAO.java ├── gui/ │ ├── .gitkeep │ ├── CoordinatorDashboardPanel.java │ ├── LoginPanel.java │ ├── MainFrame.java │ ├── ManagerDashboardPanel.java │ ├── UI.java │ └── UserDashboardPanel.java ├── model/ │ ├── .gitkeep │ ├── Deposit.java │ ├── Equipment.java │ ├── Faculty.java │ ├── Guest.java │ ├── HeadLabCoordinator.java │ ├── LabLocation.java │ ├── LabManager.java │ ├── PaymentTransaction.java │ ├── Researcher.java │ ├── Reservation.java │ ├── Student.java │ └── User.java └── pattern/ ├── command/ │ ├── .gitkeep │ ├── CancelCommand.java │ ├── Command.java │ ├── ExtendCommand.java │ ├── ForfeitDepositCommand.java │ ├── ModifyCommand.java │ ├── ReservationService.java │ └── ReserveCommand.java ├── factory/ │ ├── .gitkeep │ └── UserFactory.java ├── observer/ │ ├── .gitkeep │ ├── EquipmentObserver.java │ ├── EquipmentSubject.java │ ├── Observer.java │ └── UserNotificationObserver.java ├── singleton/ │ ├── .gitkeep │ ├── BookingSystem.java │ └── HeadLabCoordinatorSingleton.java ├── state/ │ ├── .gitkeep │ ├── AvailableState.java │ ├── DisabledState.java │ ├── EquipmentContext.java │ ├── EquipmentState.java │ └── MaintenanceState.java └── strategy/ ├── .gitkeep ├── CreditCardPayment.java ├── DebitPayment.java ├── GrantPayment.java ├── InstitutionalPayment.java ├── PaymentProcessor.java └── PaymentStrategy.java