The goal of this coding challenge is to implement a simple employee management system.
Challenge Instructions:
-
Backend (C#)
Design and implement a RESTful API using .NET Core. The API should expose endpoints to:
a) Add, retrieve, update, and delete employees. Each employee should have the following attributes:
ID
,FirstName
,LastName
,Email
,JobTitle
, andDateOfJoining
.b) Implement functionality to calculate and display the total years of service for each employee.
-
Frontend (TypeScript)
Build a user interface using a modern JavaScript framework (like Angular, React, Vue.js) and TypeScript that consumes the API built in step 1. The UI should:
a) Display a list of employees. Administrators should be able to search for employees by name or job title.
c) User can add, update, and delete employee records.
d) Display the total years of service for each employee.
Evaluation Criteria:
- Correctness and completeness of the solution.
- Use of best practices in coding and API design.
- Code readability and organization.
- Handling of edge cases and potential errors.
- Design and usability of the user interface.
- Testing: How well is the code tested? Are edge cases and error conditions considered?
Submission:
Please provide the following:
- The complete source code of your solution.
- A README file that includes:
- Instructions on how to build and run your application.
- A brief description of your design choices and trade-offs you made.
Note: Remember to comment your code where necessary to explain why you made certain design choices.