-
Notifications
You must be signed in to change notification settings - Fork 22
Open
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is neededonlydust-waveContribute to awesome OSS repos during OnlyDust's open source weekContribute to awesome OSS repos during OnlyDust's open source week
Description
✨ Objective
Enable proposal creators (admins) to upload a context document (PDF or Word) when creating a new proposal, so that voters can access detailed background information about the project being voted on. This improves transparency and decision-making during elections.
🛠 Tasks
🧩 Backend
- Extend the proposal creation endpoint in
DevoteApp/app/api/proposals/route.tsto accept a file upload field. - Accept file types:
.pdf,.doc,.docx. - Save uploaded files to a designated directory
uploads/proposals/[proposalId]/[file]
💾 File Storage Strategy
- File should be accessible to frontend via a secure public URL or API route.
💻 Frontend
- Modify the proposal creation form (
DevoteApp/components/CreateProposalModal.tsx) to include an optional file upload input. - Use file preview component to show the file name once uploaded.
- Ensure the file is sent to the backend when submitting the proposal form.
📖 Proposal Viewer
- On the proposal detail page (
DevoteApp/app/voting/[id]/page.tsx), add a section to download or view the uploaded context file if one exists. - Display a link or button: View Proposal Context (
.pdf/.docx)
✅ Acceptance Criteria
- Admin can upload a context file when creating a proposal.
- The file is stored securely and linked to the corresponding proposal.
- Voters can view or download the file from the proposal details page.
- Only allowed file types are accepted.
- File upload is optional but clearly visible in the UI.
📦 Resources
Backend Route: DevoteApp/app/api/proposals/route.ts
Frontend Proposal Form: DevoteApp/components/CreateProposalModal.tsx
Frontend Proposal Viewer: DevoteApp/app/voting/[id]/page.tsx
Storage: Add /uploads/ folder
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is neededonlydust-waveContribute to awesome OSS repos during OnlyDust's open source weekContribute to awesome OSS repos during OnlyDust's open source week