1. INTEGRATED SITUATION
Scenario description
DAB Enterprise LTD is a company specialized in selling building tools and construction materials located in Kigali City, Rwanda. The company manages employee records and keeps track of purchases and sales records using a manual system in its daily operations. However, the current system is outdated, slow, and not flexible enough to support growing business needs. Most activities are handled separately, which causes data duplication, delays, and difficulty in tracking daily transaction records.
To improve transaction processing, the company has decided to develop a web-based application that will manage all its operations and eliminate duplications, ensure data consistency and support decision making.

The new system must allow users to input, process, store, retrieve data efficiently and support accurate reporting.

Task: Develop Human Resource Management System (HRMS)

As a full stack developer, you are given 7 hours to develop the HRMS web application using Node.JS and React.JS.

Perform the following activities to accomplish the above task:

1. Use attributes provided below to design an Entity Relationship Diagram (ERD) that represents the relationship between their entities. Before opening your computer, design this ERD on a plain paper (A4) using a pencil.
Entities and attributes are:
a) Employee
   -EmpFirstName
   -EmpLastName
   -EmpGender
   -EmpDateOfBirth
   -EmpEmail
   -EmpTelephone
   -EmpAddress
   -EmpHireDate
   -EmpStatus
b) Department
   -DeptName
c) Position
   -PosName
RequiredQualification
d) Users
  -UserName
  -Password
Relationships
An employee belongs to a department and each department has many employees.
One employee has one position.
A user is also an employee.
Possible employee statuses are:
On leave
Left
Blacklisted
Deceased
On mission
2.

Indicate appropriate Primary Keys (PK) and Foreign Keys (FK) based on the relationships among the entities.

3.

Design Level 0 DFD (Context Diagram) showing the system and external entities.

4.

Create a database called HRMS with Employee, Department, Position, and Users tables as designed in ERD.

5.

Save your work in your real names in a folder called:

FirstName_LastName_National_Practical_Exam_2026

6.

Prepare front-end and back-end environments.

7.

Your web application should allow users to perform CRUD operations, search records and should be responsive.

8.

Create a session-based login user account.

9.

Generate an Employee Status Report that displays a comprehensive list of employees on leave organized by their departments. The report should clearly indicate only all the employees currently on leave and their total.
