Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Phase 4: Community submissions + moderation queue

Đang mở
#35 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
70/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
supabase, typescript

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement

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 = false until admin review)
  • Design the resources table's submittedBy/approved columns now (already in schema)

Current State

  • Database schema already has submittedBy (text) and approved (boolean, default true) columns on resources
  • /submit page exists with Supabase Auth sign-in
  • /submit page has SubmitForm component but it's not fully wired to backend
  • Admin dashboard already has review queue for approved = false resources
  • Admin can approve/reject submissions

What's Missing

  1. SubmitForm backend: The form submission action needs to insert into resources with approved = false
  2. User submission tracking: Show user their submissions with status (already partially in /submit page)
  3. Submission validation: Validate URL, required fields, duplicate detection
  4. Email notification: Notify admin of new submission (optional, Phase 5)

Implementation Plan

  1. Complete SubmitForm action:
    • src/app/submit/actions.ts - insert resource with approved = false, submittedBy = user.id
    • Validate form data (Zod schema)
    • Check for duplicate URL
    • Redirect to /submit with success message
  2. Enhance user submission view:
    • /submit page already shows user's submissions with status
    • Ensure real-time updates after submission
  3. Admin review queue: Already working in /admin dashboard
  4. Duplicate detection: Use existing isUrlListed() in src/lib/resources.ts

Files to Modify

  • src/app/submit/actions.ts - complete the submission Server Action
  • src/app/submit/submit-form.tsx - ensure proper form handling
  • src/lib/resources.ts - verify isUrlListed() 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"
Ngôn ngữ chính
TypeScript
Star
1
Fork
6
Merge trung bình
11 giờ 16 phút
Pull request đã merge (30 ngày)
16

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của Your-Voldemort/StudentStack

Tất cả issue của Your-Voldemort/StudentStack

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.