Plan incremental festival linking implementation with tests - #189
Merged
Conversation
Create comprehensive guides for incremental feature implementation: - Implementation decisions with multiple-choice format - Phase 0 foundation guide with complete specifications Features planned: - Festival linking (local, Phases 0-2) - My Festival / Festival Log (local, Phases 3-4) - Cloud sync (deferred to later, Phases 5-6) Documentation includes: - Multiple-choice decisions with pros/cons and recommendations - Phase 0 detailed implementation guide (aims, deliverables, success criteria) - Complete code examples and test specifications - Definition of done checklists - Verification procedures No code changes in this commit - planning documentation only.
Reorganize implementation planning docs to follow the new docs/ organization (code/, planning/, processes/, tooling/). Changes: - Move Phase 0 guide to planning/deep-linking/phase-0-guide.md - Create planning/festival-log/ directory for festival log feature - Add festival-log/design.md with feature overview and decisions - Add festival-log/implementation-plan.md with Phases 3-4 details The festival-log docs follow the same pattern as deep-linking docs (design.md, implementation-plan.md). Status: - deep-linking docs: 💡 Proposal (Phases 0-2) - festival-log docs: 💡 Proposal (Phases 3-4, depends on deep-linking) Still TODO: - Clean up IMPLEMENTATION_DECISIONS.md from docs root - Update docs/README.md to reference new planning docs
Remove old IMPLEMENTATION_DECISIONS.md (content migrated to feature-specific docs) and update docs/README.md to reference the new planning documentation. Changes: - Delete docs/IMPLEMENTATION_DECISIONS.md (content now in planning/deep-linking/ and planning/festival-log/) - Update docs/README.md: - Add planning/deep-linking/phase-0-guide.md reference - Add new Festival Log planning section with design.md and implementation-plan.md - Update status: deep-linking = 🚧 In Progress, festival-log = 💡 Proposal - Update Quick Reference section with new planning docs - Update Planning Docs status section Documentation structure is now fully aligned with the new organization: - docs/planning/deep-linking/ - Phases 0-2 (ready to implement) - docs/planning/festival-log/ - Phases 3-4 (proposal, depends on deep-linking)
Record that the app is in pre-release mode with no existing users, no saved data, and no shared URLs. This eliminates the need for backward compatibility and migration code. Key changes: - Add pre-release context to design docs (deep-linking, festival-log) - Remove all migration code from festival-log implementation plan - Simplify StorageService (no v1→v2 migration needed) - Remove migration tests from testing strategy - Update manual testing checklist (remove migration items) - Update README.md to reflect clean start Impact on implementation: - Phase 3 simplified: 4-6 hours (was 6-8 hours) - Phase 1 simplified: 6-8 hours (was 8-10 hours) - Total estimate: 22-29 hours (was 26-34 hours) - Saves ~4-5 hours by skipping migration/compatibility code This documentation will help future implementers understand why certain decisions were made and why migration code was not needed.
- Task 3.4: Integration tests for data persistence (favorites, timestamps, festival-scoped data) - Task 4.4: Integration tests for UI flows (add → tasted → log, multiple tastings, sort order) - CI/CD integration for test-integration-flutter job - Addresses Playwright limitation (can't interact with Flutter canvas widgets)
- Add Phase 2.5: Test Infrastructure Setup (Low complexity) - Task 2.5.1: Create mock festival data fixtures (test/fixtures/mock_festival_data.dart) - Task 2.5.2: Create integration test directory with README - Task 2.5.3: Update test/README.md with integration test instructions - Replace time estimates with complexity ratings - Phase 3: Medium complexity (was 4-6 hours) - Phase 4: Medium-High complexity (was 6-8 hours) - Update integration test examples to reference mock data - Sample IPA, Mock Stout, Test Pale Ale from fixtures - Clear comments indicating mock data usage
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request updates the project documentation to clarify the current status of deep linking and introduces comprehensive planning documentation for the upcoming Festival Log ("My Festival") feature. It emphasizes the pre-release context, allowing for optimal design choices without backward compatibility or migration concerns. The changes also provide a clear roadmap and status for major features.
Feature planning and status updates:
docs/README.mdto reflect that deep linking is now "In Progress" (Phases 0-2 planned, implementation starting), and added detailed references for the new Festival Log feature, which is currently a proposal dependent on deep linking completion. Also clarified the status of other features and documentation. [1] [2] [3]Deep linking documentation improvements:
docs/planning/deep-linking/design.md) with explicit notes on the pre-release context, confirming no backward compatibility is needed, and listing the resulting implementation simplifications (e.g., no legacy URL handling or migration logic required). [1] [2]Festival Log feature documentation:
docs/planning/festival-log/design.md), covering feature scope, data model, user experience, visual and interaction design, analytics, and implementation phases. The document highlights the pre-release advantage of designing the optimal structure from scratch.