Northeastern-Electric-Racing / Northeastern-Electric-Racing/FinishLine

Finance - Use Plain Date Policies For Reimbursement Create Date

Open
#1,772 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

back-end difficult front-end technical improvement
Dominant language
TypeScript
Stars
36
Forks
9
Avg merge
4d 21h
Merged PRs (30d)
11

Description

Description

We have new policies to deal with date data. As a developer, I want to utilize these policies to mitigate time zone bugs. Because Reimbursement's dateCreated is selected using a date picker, we should treat it as a date without time information in our code.

Acceptance Criteria
  • After a user creates a reimbursement using the start date picker, the following should show the selected date, without time information, no matter the end user's time and timezone:
    • POST endpoint payload when creating/updating reimbursement
    • GET endpoint response when getting reimbursement
    • Any displayed view on the frontend
Proposed Solution

Refer to the datetime policy documentation.

Identify all endpoints where Reimbursement.dateCreated data is transferred. Change these endpoints so they send and handle a date-only yyyy-mm-dd instead of a full timestamp. Write any necessary transformers and validators.

Test the endpoints with Vitest and manually. Test the view manually too.

Mocks

No response

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing Reimbursement.dateCreated through the POST and GET endpoints, the frontend date picker and displayed views. Read the linked datetime policy, then run the endpoint tests with Vitest and manually check the frontend across time zones. Done means every payload, response and displayed value uses the selected yyyy-mm-dd date without time information.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, frontend, full-stack
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.