Phase 4: Community submissions + moderation queue
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 70/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- supabase, typescript
- Ambito
- authentication, database, full-stack
Direzione di ricerca
Start with src/app/submit/actions.ts and src/app/submit/submit-form.tsx, then inspect isUrlListed() in src/lib/resources.ts and the existing /submit submission view. Confirm the action validates the required fields, rejects duplicate URLs, records the signed-in user with approved=false, and refreshes the user's status view. Done means a submission appears under review and remains available to the admin queue.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
Implement community submissions and moderation queue as specified in PRD §8.10. This is a P2 requirement for Phase 4.
Acceptance Criteria (from PRD §8.10)
- Logged-in users can submit a resource (
approved = falseuntil admin review) - Design the
resourcestable'ssubmittedBy/approvedcolumns now (already in schema)
Current State
- Database schema already has
submittedBy(text) andapproved(boolean, default true) columns on resources /submitpage exists with Supabase Auth sign-in/submitpage hasSubmitFormcomponent but it's not fully wired to backend- Admin dashboard already has review queue for
approved = falseresources - Admin can approve/reject submissions
What's Missing
- SubmitForm backend: The form submission action needs to insert into resources with
approved = false - User submission tracking: Show user their submissions with status (already partially in
/submitpage) - Submission validation: Validate URL, required fields, duplicate detection
- Email notification: Notify admin of new submission (optional, Phase 5)
Implementation Plan
- Complete SubmitForm action:
src/app/submit/actions.ts- insert resource withapproved = false,submittedBy = user.id- Validate form data (Zod schema)
- Check for duplicate URL
- Redirect to
/submitwith success message
- Enhance user submission view:
/submitpage already shows user's submissions with status- Ensure real-time updates after submission
- Admin review queue: Already working in
/admindashboard - Duplicate detection: Use existing
isUrlListed()insrc/lib/resources.ts
Files to Modify
src/app/submit/actions.ts- complete the submission Server Actionsrc/app/submit/submit-form.tsx- ensure proper form handlingsrc/lib/resources.ts- verifyisUrlListed()works for duplicate check
Database Schema (already exists)
resources: {
submittedBy: text('submitted_by'), // user id
approved: boolean('approved').notNull().default(true), // false for submissions
// ... other fields
}
UX Notes
- Submission form: name, URL, category, cost type, description (required), tags/region/deadline (optional)
- After submit: "Thanks! Your submission is under review." + show in user's submission list
- Admin sees in review queue with "Approve" / "Reject" / "Edit before approving"
- Lingua principale
- TypeScript
- Stelle
- 1
- Fork
- 6
- Merge medio
- 11h 16m
- PR unite (30g)
- 16
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Your-Voldemort/StudentStack
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
Your-Voldemort/StudentStack#42 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
Your-Voldemort/StudentStack#41 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Your-Voldemort/StudentStack#40 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
Your-Voldemort/StudentStack#38 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
Your-Voldemort/StudentStack#37 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Your-Voldemort/StudentStack
Issue simili
-
[bug] diagnostics.dumpBody:Buffer 形态请求(透传 lane)跳过 dumps/ 落盘,仅留 raw/-unknown-Forse già presa @ranxianglei l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
ranxianglei/billion-context#2421 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
pending triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
nuxt/test-utils#1842 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
MoonshotAI/kimi-code#4146 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
farbenmeer/tapi#531 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno