The graphical application that we will create using Java AWT and Swing will be an employee management system Through this application, an employer can manage the employee shifts and salary and the employees can view this information. This application will include a login function and roles for different users on the system. It can be used by multiple companies as well with many different employees.
The following views are used in the application:
- Login View
- Create Company View
- Employee Main View
- Employer Main View
- Employer Add and Modify View
The Login View is the first screen that is seen by any user and can be used to log into the application by entering a username and a password. At the bottom of the window there is a login button which will move the user to the application home screen and the company create button.
The Create Company View is what the employer will see after they click the create company button on the login window. This will allow the employer to set up their username and password and also enter the company name in. The view looks extremely similar to the login view.
The Employee Main View is mainly there to display information set by the employer. The employee view will display any shifts assigned. It will also display their title as an employee, salary they are currently being paid, and give them the option to change their password. This view will look very similar to the employee add and modify view.
The Employer Main View is the home screen of the application for a user with the employer role. The main employer view will display a scrollable list of the current employees of that employer and the employer as well. Next to each employee name there will be a modify button that will allow access to a different view, the Employer Add/Modify Employee View. There will also be an add button at the top of the screen that will bring the employer to the Employer Add and Modify Employee View.
The Employer Add and Modify View is the same view regardless of whether the employer is adding a new employee or modifying an existing employee. The difference between the two is that while modifying the existing employee the current information is pre-filled in the text fields. The view will include text fields for the employee first and last name, username, shifts, and salary. It will also include a button for the employer to reset an employee's password to a default value in the event that an employee forgets it.
The following user groups are used in the application
- Employer
- Employee
The employer has complete control over the entire company as well as the employee accounts in the application. The employer is able to access the Employer Main Screen as well as reset employee passwords, add new employees, and modify employee shift and salary information.
The employee has limited access to data in the application and cannot see other employees or the employer. They can only access and modify their own personal information in the profile after logging into the application.
The work will be divided evenly between us as there will be several different classes to make and many windows. Most likely each of us will do at least one class and also create at least two windows. However, as these windows interrelate closely, we will need to work together on many of the problems to create the application. In addition to the programmatic aspect of the project, we will both contribute to the demonstration and presentation of the work by showing the class different parts of the application.