04. Project requirements
Requirements
ต้องการระบบที่ช่วยให้บริษัท track และ จัดการ เวลาการทำงาน OT ต้องการให้พนักงานลงเวลาทำงานที่ทำ OT แล้วสร้าง report ออกมา
Features
Employee management
- CRUD employee records
- employee record struct
- id
- name
- role Junior Developer, Senior Developer, Lead, C Level โดย default จะให้เป็น Junior Developer
- department IT, Accounting, HR, Manager
Overtime tracking
- CRUD Overtime record for each employee
- Each overtime record
- id
- date
- hoursWorked
- reason
- Any partial hour worked is billed as a full hour
Reporting and Summary
- สรุป OT
- ดู OT ของ employee รายคนโดยระบุช่วงเวลาวันที่ ถึง วันที่
- ดู OT แยกตาม department โดยระบุช่วงเวลา
Endpoint overview
Employee management
POST /employees
: create new employeeGET /employees
: Retrieve list of employeesGET /employees/:id
: Retrieve single employee by idPUT /employees/:id
: Update single employee by idDELETE /employees/:id
: Delete single employee by id
OT Management
POST /overtimes
: Record new overtime for an employeeGET /overtimes/:overtimeId
: retrieve OT record by idGET /overtimes/employees/:employeeId
: retrieve OT records for employeeIdGET /overtimes/department/:departmentName
: Get list of OT records for deparment’s nameGET /overtimes/employees/summary
: Generate an overtime summary (filtered by date range, employee)GET /overtimes/department/summary
: Generate an overtime summary (filtered by date range, department)
Tech stack
- Backend framework: Hono
- Database: Postgres using Prisma v6
- Language: Typescript
- Testing: Vitest