Skip to content
CodeSook
CodeSook

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 employee
  • GET /employees: Retrieve list of employees
  • GET /employees/:id: Retrieve single employee by id
  • PUT /employees/:id: Update single employee by id
  • DELETE /employees/:id: Delete single employee by id

OT Management

  • POST /overtimes: Record new overtime for an employee
  • GET /overtimes/:overtimeId: retrieve OT record by id
  • GET /overtimes/employees/:employeeId: retrieve OT records for employeeId
  • GET /overtimes/department/:departmentName: Get list of OT records for deparment’s name
  • GET /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