iiitl / iiitl/Crate

Implement note pinning with persistent state

Open
#3 4 comments 0 reactions 0 assignees View on GitHub
enhancement Fullstack Hard
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.