Server Control GUI - rsanchez-wsu/fa15-ceg3120 GitHub Wiki

Server Control GUI

The Server Control GUI is the primary access point for the administrators to view and access the various aspects of the application providing a simpler way to access and control the server. To access the server control GUI, an administrator will need to enter a username and password into a login screen similar to the login screen for the homeowners and contractors.

Dash Board

The dash board will be the loading page of the Server Control GUI. From this page, the user will be able to access various features to edit, maintain, and troubleshoot issues with the application. These features may include, but are not limited to, the following:

A sample GUI is shown here.

Analytics

The analytics page will consist of a status information about the application. This may include information such as number of homeowners, number of contractors, total current jobs, total past jobs, completed jobs per month, system up-time, as well as the current status and version of the database and other protocols. The analytics page need not contain any methods to edit these features just to view the overall status of the application.

Database

The database aspect of the Server Control GUI will consist of two parts, access the homeowners database/table and access to the contractors database/table. This is dependent upon the database schema used. Access to the homeowners database will be similar to the contractors database in function. From this screen an administrator will be able to:

  • Manually add, remove, or ban users
    • Removing user accounts should be confirmed by requiring administrator to retype the username or a similar check.
  • View or modify user accounts including password reset
  • Enable and disable user accounts
  • Show and hide user accounts
  • View user account history
  • View transaction history

To aid in finding the correct user accounts the GUI will have fuzzy search, filter, and sort features. Viewing the user account history may vary between homeowner and contractor accounts. This will also depend on the database schema. While a homeowner will typically only contact one contractor for each job, multiple contractors will bid on each job. To view a complete history, the administrator must have access to view past bids, both successful and unsuccessful, for the contractors while only needing to view completed jobs for the homeowner. Both homeowner and contractor will have pending jobs to be viewed. The final part of the database aspect of the Server Control GUI will be access to transaction history. This will allow the administrator to view and handle any previous payments to assist in any payment disputes or issues.

Messaging System

The messaging system will consist of two primary functions. The first function will be to allow the administrators to communicate directly with a single or several users via email. This will create a channel of communication for troubleshooting and issue handling.
The second function will be a mass messaging system. This system will allow the administrator to contact all users at the same time. This function will be useful to notify users of system issues or maintenance.

Task Scheduler

The task scheduler will be used to schedule server functions. To simplify scheduling for the administrator, common tasks such as server reboot and system backups can be loaded into a drop down box or accessible via button click. The task scheduler will then schedule the task to be performed during the time specified or during a predetermined low usage time so that application performance will be minimally affected. The administrator will also be able to view, edit, and remove previously scheduled tasks.

System Logs

The system logs page will display a list of logs for the server. This may include, but is not limited to:

  • System errors
  • Database discrepancies
  • System resets
  • System backups (successful and unsuccessful)
  • Unauthorized access attempts
  • User traffic

GUI Design

First Draft###

Rough Image Server GUI

Comments/Suggestions

I like the idea of using tabbedView. I think I'm going to pitch that idea to my group as well. Thanks! Homeowner UI

We could possibly use the JSch library to have an ssh connection for running commands on the server

Would Be Nice

Brushable timeline for server logs. example

[top of page]