Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Phase 3: Implement /deadlines route with deadline view

Aperta
#32 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
68/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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
Lingua principale
TypeScript
Stelle
1
Fork
6
Merge medio
11h 16m
PR unite (30g)
16

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Your-Voldemort/StudentStack

Tutte le issue di Your-Voldemort/StudentStack

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.