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 3: Implement /deadlines route with deadline view

Đang mở
#32 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ó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
68/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ệ
typescript
Lĩnh vực
full-stack, web-dev

Hướng nghiên cứu

Start with PRD §8.4, then inspect src/lib/resources.ts, src/components/directory/resource-card.tsx, and the existing app routes. Review scripts/normalize-data.ts and offers.json to determine how deadline data should be added. Done means /deadlines lists dated resources in ascending order, marks deadlines within 14 days, collapses expired items into a past section, and is linked from the homepage or directory.

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

Mô tả

enhancement

Description

Implement the /deadlines route as specified in PRD §8.4. This is a P0 requirement for Phase 3.

Acceptance Criteria (from PRD §8.4)

  • /deadlines route lists all resources with a non-null deadline, soonest first
  • Resources with deadlines within 14 days get a visually distinct "closing soon" badge
  • Expired deadlines auto-move to a collapsed "past" section, not deleted (useful for next year's cycle)

Current State

  • Database schema already has deadline column on resources table (nullable timestamp)
  • src/db/schema.ts line 54: deadline: timestamp("deadline")
  • No deadline data exists in current seed (see PROGRESS.md judgment call #8)
  • Need to add deadline data to offers.json / normalization

Implementation Plan

  1. Add deadline data: Update offers.json or normalization to include deadline data for scholarship/internship resources
  2. Create /deadlines page: New route at src/app/deadlines/page.tsx
  3. Create deadline query: Add getResourcesWithDeadlines() to src/lib/resources.ts
  4. Build UI components:
    • Upcoming deadlines list (sorted by deadline ASC)
    • "Closing soon" badge (deadline within 14 days)
    • Collapsible "Past deadlines" section
  5. Add to navigation: Link from homepage/directory

Files to Create/Modify

  • src/app/deadlines/page.tsx (new)
  • src/lib/resources.ts - add deadline queries
  • scripts/normalize-data.ts - add deadline parsing if data exists
  • src/components/directory/resource-card.tsx - reuse card or create deadline-specific card
  • Homepage/directory - add link to /deadlines

Design Notes

  • Public route (no auth required)
  • Server Component for initial data fetch
  • Can reuse ResourceCard component with deadline-specific props
  • "Closing soon" = deadline < 14 days from now
  • "Past" = deadline < now
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.