[Import/Export] Find the first meeting occurrence
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
- 83/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- backend
Hướng nghiên cứu
Read the section types in src/lib/domain/section.ts and the getting-started setup guide, then create src/lib/ics/meeting.ts and meeting.test.ts. Use the listed acceptance checks with pnpm test: verify DTSTART, BYDAY and UNTIL, escaped LOCATION text, null for a TBA meeting, and folded summary lines. Coordinate the date formatting with issue #788's helper when it merges.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What to build
Find the first date on which a class actually meets. Use its active start/end dates and weekdays so the exported calendar does not begin on a day with no class.
Files
src/lib/ics/meeting.ts(new file)- Starting example: src/lib/domain/section.ts
- Course/meeting fields: src/lib/domain/section.ts
Code to add or extend:firstMeetingDate(range: DateRange|null, days: readonly DayOfWeek[]): string|null.
Steps
- Return null for null range or empty weekday list.
- Parse
range.startas UTC midnight and walk at most7 calendar dates using getUTCDay/setUTCDate. Stop afterrange.end. - Map Sunday0..Saturday6 explicitly to domain weekday strings and return the first matching ISO date.
Example
Range 2026-08-12..2026-08-14 with MWF → 2026-08-12; range ending before any requested weekday → null.
Check it works
In src/lib/ics/meeting.test.ts, check the example above and the failure or limit described in the steps. Run pnpm test -- src/lib/ics/meeting.test.ts, pnpm lint and pnpm typecheck.
Before starting
References
Assign yourself before starting, or comment to claim the issue. Project setup.
- Ngôn ngữ chính
- TypeScript
- Star
- 19
- Fork
- 94
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của DevDogsUGA/DogDays
-
map
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
DevDogsUGA/DogDays#868 ·
-
map
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
DevDogsUGA/DogDays#865 ·
-
sharing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
DevDogsUGA/DogDays#854 ·
-
import-export
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
DevDogsUGA/DogDays#850 ·
-
import-export
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
DevDogsUGA/DogDays#842 ·
Tất cả issue của DevDogsUGA/DogDays
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
awesome-dsh-plugin/awesome-dsh-plugin#9184 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
farion1231/cc-switch#8829 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[core-client] Remove unused hand-maintained transport helpers after the definition-table cutoverĐang mởdoc-audit enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100