2.3 KiB
2.3 KiB
CLQMS Task Completion Checklist
When completing a task, ensure:
1. Tests Pass
./vendor/bin/phpunit
- All existing tests must pass
- Add new tests for new features
- Test naming:
test<Action><Scenario><Result>
2. API Documentation Updated (CRITICAL)
When updating ANY controller, update corresponding OpenAPI YAML:
| Controller | YAML Path File | YAML Schema File |
|---|---|---|
PatientController |
paths/patients.yaml |
components/schemas/patient.yaml |
PatVisitController |
paths/patient-visits.yaml |
components/schemas/patient-visit.yaml |
OrderTestController |
paths/orders.yaml |
components/schemas/orders.yaml |
SpecimenController |
paths/specimen.yaml |
components/schemas/specimen.yaml |
TestsController |
paths/tests.yaml |
components/schemas/tests.yaml |
AuthController |
paths/authentication.yaml |
components/schemas/authentication.yaml |
ResultController |
paths/results.yaml |
components/schemas/*.yaml |
EdgeController |
paths/edge-api.yaml |
components/schemas/edge-api.yaml |
LocationController |
paths/locations.yaml |
components/schemas/master-data.yaml |
ValueSetController |
paths/valuesets.yaml |
components/schemas/valuesets.yaml |
ContactController |
paths/contact.yaml |
(inline schemas) |
After updating YAML files:
node public/bundle-api-docs.js
3. Code Quality Checks
- PSR-12 compliance where applicable
- No database queries in controllers
- Use transactions for multi-table operations
- Proper error handling with try-catch for JWT/external calls
- Log errors:
log_message('error', $message)
4. Response Format Verification
Ensure all responses follow the standard format:
return $this->respond([
'status' => 'success|failed',
'message' => 'Description',
'data' => $data
], $httpStatus);
5. Security Checklist
- Use
authfilter for protected routes - Sanitize user inputs
- Use parameterized queries
- No secrets committed to repo (use .env)
6. Naming Conventions
- Classes: PascalCase
- Methods: camelCase
- Properties: snake_case (legacy) / camelCase (new)
- Database columns: PascalCase (legacy convention)
7. Do NOT Commit Unless Explicitly Asked
- Check status:
git status - Never commit .env files
- Never commit secrets