Skip to content

Commit 5cb3652

Browse files
committed
updated exercise 14 project files
1 parent d95e0be commit 5cb3652

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

DownloadableCodeProjects/standalone-lab-projects/sdd-get-started-rss-feed/App Features.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,4 @@ Notifications can be added later for high-priority feeds or keyword matches.
6464
Integrations and sharing features can come later as well. This includes sharing items to email and chat tools (for example Slack/Teams), sending items to read-later services (for example Pocket/Instapaper/OneNote), and offering quick actions like copying a clean link. It can also include opening links in the system browser or in an in-app browser view. For some workflows, RSS-to-email could be added so selected feeds (or filtered items) are forwarded to an email inbox.
6565

6666
Finally, as privacy and data ownership features mature, we can explicitly focus on minimal tracking and clear data ownership/export (for example, ensuring users can always export their data in a usable form).
67+

DownloadableCodeProjects/standalone-lab-projects/sdd-get-started-rss-feed/Project Goals.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,26 @@ Next, we will iterate toward a solid “v1” by improving usability and reliabi
3030

3131
Finally, we will add optional enhancements over time (search/filtering, integrations, sync, offline improvements) once the core experience is dependable.
3232

33-
## Quality goals
33+
## Quality goals for this project
3434

3535
Even in an MVP, the reader should be reliable and safe. It should tolerate real-world feed problems (redirects, timeouts, malformed XML) without crashing, avoid duplicating items unnecessarily, and render content safely.
3636

3737
Local data should remain the user’s data. The design should make it easy to keep and export information as the project grows.
3838

39+
## Standards and guidelines
40+
41+
- **Code Quality**: Enforce linters/formatters; follow a clear style guide; require PR reviews; prefer small, incremental changes.
42+
- **Testing**: Unit and integration tests for critical paths; CI gates must run tests; target meaningful coverage on core modules (≈80%) and validate parsing/rendering edge cases.
43+
- **Security**: Sanitize all rendered HTML; validate and normalize inputs; keep secrets out of the repo; run SAST and dependency vulnerability scanning; fix high/critical issues promptly; adopt OWASP ASVS baseline controls.
44+
- **Privacy**: Minimize data collected; keep all user data local by default; make export/delete straightforward; exclude PII from logs.
45+
- **Accessibility**: Meet WCAG 2.2 AA (keyboard navigation, contrast, semantics); avoid motion that impairs readability.
46+
- **Performance**: Non-blocking UI during fetch/parse; cache feed metadata; use retry with backoff on timeouts; avoid excessive memory use on large feeds.
47+
- **Reliability**: Handle malformed/redirected feeds robustly; deduplicate items idempotently; persist safely to avoid corruption.
48+
- **Observability**: Use structured logs with levels; surface actionable error messages; collect minimal opt-in telemetry only.
49+
- **Release Management**: Use semantic versioning; maintain a changelog; ensure reproducible builds; enable quick rollback.
50+
- **Documentation & Process**: Keep README/user guide and architecture overview current; write brief specs with acceptance criteria via Spec Kit; definition of done includes tests, docs, and QA checklist.
51+
- **Dependency Management**: Pin versions; update regularly; track licenses; generate an SBOM (e.g., CycloneDX) and verify compliance.
52+
3953
## How this document fits with the others
4054

4155
This document describes the project at a high level and sets constraints, methodology, and rollout expectations.

0 commit comments

Comments
 (0)