Skip to content
Snippets Groups Projects
user avatar
eyan_ authored
e16e6ba2
History

cmpt-370-group-project

To run the scheduling app properly you must have the database running and the server connected to it.

How to set up the MySQL database:

- Download and run the MySQL Installer, make sure that MySQL Server and MySQL 
  Workbench are installed.
- Create a MySQL server and with whatever host address you like and an available
  port. If your running it locally than you can keep it these values as default.
- In MySQL open the sql file "ScheduleApp.sql" in the repository and execute the
  following commands:
    * create database ScheduleApp;
    * use ScheduleApp;
    * create table Employees(
        employee_ID INT NOT NULL auto_increment,
        first_name varchar(25),
      last_name varchar(25),
      primary key (employee_ID)
    );
    * create table Shifts(
          shift_id INT NOT NULL auto_increment UNIQUE,
        full_date DATE,
        start_time INT,
        end_time INT,
        employee_ID INT,
        PRIMARY KEY (shift_id),
        FOREIGN KEY (employee_ID) REFERENCES Employees(employee_ID)
    );
    * create table TimeOff(
          ID int not null auto_increment unique,
          startDate date,
        endDate date,
        employeeID int,
        approved boolean,
        reason varchar(10),
        primary key (ID),
        foreign key (employeeID) references Employees(employee_ID) 
    );
    * create table Availabilities(
          ID int not null auto_increment unique,
        employeeID int unique,
        sundayStart int default 0,
        sundayEnd int default 2359,
        mondayStart int default 0,
        mondayEnd int default 2359,
        tuesdayStart int default 0,
        tuesdayEnd int default 2359,
        wednesdayStart int default 0,
        wednesdayEnd int default 2359,
        thursdayStart int default 0,
        thursdayEnd int default 2359,
        fridayStart int default 0,
        fridayEnd int default 2359,
        saturdayStart int default 0,
        saturdayEnd int default 2359,
        foreign key (employeeID) references Employees(employee_ID)
    );
- Open the 'server' tab at the top and select 'server status', and make sure that
  the server status is 'Running'

How to set up the Scheduling Server:

- In the main method in the ScheduleServer input the proper parameters:
    * ip: The local address that you want the server to listen to. If your running the
        server and the client on the same machine set it to "localhost".
    * port: The port that you want the server to listen to.
    * dbURL: "jdbc:mysql://hostname:port/DB_Name". Change 'hostname' to the MySQL
      MySQL server address, Change 'port' to the MySQL server port, and
      'DB_Name' to the MySQL server database. (This should be ScheduleApp)
        to the 
    * dbUser: The user name of the MySQL server.
    * dbPass: The password of the MySQL password.
- Save, then run the main method.

How to set up the Scheduler Client:

- In the managerLoginClicked method in the Controller.java file change the hostname and port in the
  Modal constructor to the ip address and port number of the server.
- Save, then run the main method in the ScheduleApp.