EMS

Overall

EMS uses Amazon DynamoDB for data storing. The stored data sets are employees, payroll, departments, and employment types.

Amazon Cognito handles the authentication process including, sign-up, sign-in, and password-change.

Data interation between front-end and back-end is via graphQL apis which are configured with AWS Amplify serverless methodology.

React is employed for the main front-end library. (with redux, and react router)

Account Management

There are three user groups for the system: administrator, hrAdmin, and AccountAdmin.

Administrators can access all pages: Employee List, Payroll List, Report, Account, and Master Data.

HrAdmins have access to Emplyee List only.

AccountAdmins have access to Payroll List, and Report pages.

Administrators are the only users who can create sign-in users.

In the first sign-in, users use initial passwords given by the administrator.

Every user has to verify her/his own user account by submitting a verification code which is sent to the target email when the account is created.

Users can change their password after sign-in.

Employee Management

Admin and hrAdmin role users can create/read/update/delete employee information.

EMS supports bulk employee importing. A set of employees can be imported in JSON format specified in the spec above.

Payroll / Report Management

Admin and accountAdmin role users can create/read/update/delete payroll information.

The total wage is calcurated with the created payroll info.

EMS supports bulk payroll importing. A set of payroll items can be imported in JSON format specified in the spec above.

Payroll information is reflected into a pie chart by departements.

Master Data Management

Currently departments and enployee types are supported.

The master data is used when a enpoyee is registered in the system.