Export reviewed lab occurrences as an ICS file (optional v1 increment)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- javascript, nodejs
Research direction
Read AGENTS.md and docs/PROJECT_CONTEXT.md, then inspect the calendar projection and the dependency issue #35; implementation must wait until its contracts land and the design is discussed with the maintainer. Add an ICS serializer with tests and docs, covering escaping, line folding, timezones, stable UIDs, and unknown or cancelled entries. Done means exported fixtures pass an independent validator and the relevant checks listed in the issue pass.
Written by the indexing model from the issue text.
Description
Part of #28 · Target: Optional / not a v1 release blocker
Goal and scope
Offer opt-in export of resolved occurrences with deterministic UID, timezone semantics, source links and explicit handling of unknown/cancelled/moved entries. Keep output private and let user choose export destination.
Implementation starting points
calendar projection, new ICS serializer, tests and docs. Follow AGENTS.md and docs/PROJECT_CONTEXT.md; reuse existing authorization, safe-error and synthetic-fixture patterns. New runtime dependencies need a documented reason.
Dependencies and readiness
Depends on #35. Discuss the design before starting implementation; dependent contracts must land first.
Out of scope
No Google/Outlook synchronization, subscriptions, silent file overwrite, automatic exports or reminders.
Acceptance criteria and test plan
Validate ICS escaping, CRLF/folding, DST/timezones, stable UID updates and injection-shaped titles. Unknown dates/times cannot silently become invented events. Parse exported fixtures with an independent validator. This task may move after v1 without blocking the release.
Run the relevant offline tests, npm run check and git diff --check; runtime changes also require npm test and npm audit. Report checks not run. No faculty credentials or private course material are required for a contribution.
Contributing
Comment here before starting so the maintainer can coordinate the approach and avoid duplicate work. Fork the repository, branch from master, and open a focused PR referencing this issue. No assignee or delivery deadline is set; required checks and review apply.
- Dominant language
- JavaScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 20m
- Merged PRs (30d)
- 14
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from mahmutmft/courses-mcp
-
area:docs good first issue help wanted priority:medium type:chore
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
mahmutmft/courses-mcp#51 · 2 comments ·
Maintainers usually reply within 1 day
-
area:backend area:docs help wanted priority:high type:chore
Difficulty 4/5 3-5 days Newbie friendliness 57/100
mahmutmft/courses-mcp#50 ·
Maintainers usually reply within 1 day
-
area:backend area:docs help wanted priority:medium type:feature
Difficulty 4/5 3-5 days Newbie friendliness 48/100
mahmutmft/courses-mcp#49 ·
Maintainers usually reply within 1 day
-
area:backend area:docs priority:high status:blocked type:chore
Difficulty 5/5 Over a week Newbie friendliness 25/100
mahmutmft/courses-mcp#48 ·
Maintainers usually reply within 1 day
-
area:backend area:docs help wanted priority:medium type:feature
Difficulty 5/5 Over a week Newbie friendliness 35/100
mahmutmft/courses-mcp#47 ·
Maintainers usually reply within 1 day
All issues in mahmutmft/courses-mcp
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
guybedford/es-module-lexer#266 ·
-
bug documentation
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
apify/apify-docs#3206 ·
Maintainers usually reply within 1 day
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
anhnt256/cursor-swarm#21 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
zerohourzulu/irontrellis#16 ·