/MSCS721-roomScheduler

Room Scheduler - A simple java console driven project. Working Demo Link:

Primary LanguageHTML

View all of my Projectworks - click over here -> Vivek Vellaiyappan Project Works

RoomScheduler

Simple console menu driven room scheduler framework.

Project Working Demo (all demo files location: link)

Coursework Information

  • Software Verification & Maintenance: MSCS 721L | Duration: Spring 2018 (Jan - May 2018)
  • Degree: Masters in Computer Science - Software Development | College: Marist College, NY
  • Professor: Michael Gildein

Objective

  • Perform & experience the STLC process using Room Scheduler project that allows users to create rooms and schedule meeting for it

Tech Involved

  • Java, Jenkins, Docker, GSON, Static Code Analysis, jUnit, Selenium
  • Testing: Performance using visualVM, Load using jMeter, Combinatorial using PICT, Mutation

Features

  • Add a room with max accommodation capacity
  • Remove and view the created room info
  • Schedule room and view the scheduled room info
  • Export room info so that it can be later imported (since this pgm does not use db to store values. GSON is used here to store info)
  • Import room info from recently exported room information (GSON is used here.)

Future Code

  • Enhancement tweaks
  • Moving to better GUI

Tasks | (Program is solid. but waiting for other fellow testers to test and break my code if it has any loop holes)

Completed objectives:

  • Code modification & testing log file - Link
  • Add the ability to import and export the meeting, room, and schedule data to JSON a file or files, so that one can save and restore data entered from each program execution.
  • Harden and enhance the program to handle errors so that the program will not crash or fail, no matter what the user does. “Make the program idiot proof.”
  • Add conflict checking to scheduling a room.
  • Add comments using Javadoc tools and guideline
  • Run static tool analysis and correct stuffs
  • Correct issues in repo reported Issues in RoomScheduler
  • Documenting all the stuffs I did so far
  • Resolving any issues reported
  • Report any issues of the peers
  • Review peer code
  • Junit tests
  • CI using Jenkins
  • Docker usage

Pending objectives:

  • bucket_will_be_loaded

Modification log

  • All the stuffs I did that involves in the modification of code will be present in this link Modification Log - click this link and view the Modification Log file
  • App Enhancement Log - click this link and view the App Enhancements Information file

Note

View Parent Repo by Professor: Michael Gildein.

  • Initial code of this was overly simple, intentially uncommented, and buggy which was intended to be used as an extendable framework for testing class assignments.

Instructions to run this code in your machine:

In Eclipse or such IDE

  • This is very simple, just open the file project pointing to this code repo's src folder

In console (Tested in Windows using GitBash cmd)

  • Make sure JAVA setup is available in your machine (coded when java was on version 1.8.0_144)
  • Open console command prompt or gitbash (I love git bash. Try this one)
  • Pull this code to your machine and run it (Install git and use git bash for the followings)
    • Create a folder and do
      • git init
    • Add this repo as your remote origin
    • Pull the code in this repo to your remote origin
      • git pull origin master
    • Type the followings (running the program in a particular path matters)
      • if you are in the created folder then, run like the following
        • Vivek-Pc@kev MINGW64 /e/Marist/Semester2/SoftwareVerificationAndMaintenance/RoomScheduler (master)
        • $ java -jar src/resources/files/roomExportedFiles/exportedRoomScheduler.jar
      • Or move into all the way to roomExportedFiles folder and then try like the following
        • Vivek-Pc@kev MINGW64 /e/Marist/Semester2/SoftwareVerificationAndMaintenance/RoomScheduler/src/resources/files/roomExportedFiles (master)
        • $ java -jar exportedRoomScheduler.jar

Application Screenshots (wanna avoid scrolling a lot, use above pdf sheet)

Beware of the lots of scrolling to come :P

Executing Room Scheduler Program

Room Scheduler Home Page

Room Add Home Page

List Room Home Page

Remove Room Home Page

Schedule Room Home Page

Scheduled Room Information Page - ALL ROOMS

Scheduled Room Information Page - Desired Room

Export Room Home Page - After adding all the rooms

Removing all the rooms to demonstrate the import and export feature

Import Room Home Page - imoprt all the room info using a json file

After Import view all rooms

After Import view all rooms scheduled information

Quitting the Program

Wow! Appreciate you for scrolling all the way down.

Highly appreciate if you could test this appln and log the issues or enhancements.

Have a great day!