Implement note pinning with persistent state
- Dominant language
- JavaScript
- Stars
- 0
- Forks
- 14
- PR merge metrics
- No merged PRs in 30d
Description
Users have no way to mark important notes. Add a pin feature so pinned notes always appear at the top of the sidebar list.
Backend:
- Add `pinned: boolean` field to `NoteEntity.java` and `Note.java` DTO
- Add `PATCH /notes/{userId}/notes/{index}/pin` endpoint in `NoteController.java`
Frontend:
- Add a pin icon button on each note card in `NotesPage.jsx`
- Sort notes so `pinned === true` notes render first
- Persist pin state via the backend endpoint
Contributor guide
Research direction
Start with NoteEntity.java, Note.java, NoteController.java, and NotesPage.jsx to trace how note state moves between the backend and sidebar. Implement the boolean state, pin endpoint, pin controls, and pinned-first ordering described in the issue. Done means pinning a note updates its state through the endpoint and pinned notes remain at the top after loading.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, javascript
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 58/100