Skip to content

feat: add validation, animations, error boundary, accessibility, mock server, and Codecov#10

Merged
Ryanditko merged 23 commits intomainfrom
feat/polish-and-enhancements
Mar 31, 2026
Merged

feat: add validation, animations, error boundary, accessibility, mock server, and Codecov#10
Ryanditko merged 23 commits intomainfrom
feat/polish-and-enhancements

Conversation

@Ryanditko
Copy link
Copy Markdown
Owner

Summary

  • Form validation: declarative required, minLength, maxLength, pattern rules via props.validation on input components
  • Entrance animations: fadeIn, slideUp, slideLeft, scale per-component via props.animation with configurable duration and delay
  • Error boundary: graceful fallback per component — prevents a single broken node from crashing the entire screen
  • Accessibility: Semantics labels on text, button, image, icon, input, switch, and checkbox components
  • Mock backend: standalone Dart Shelf server (server/) serving JSON contracts via REST API with CORS
  • Codecov integration: coverage upload in CI with badge in README
  • Integration tests: expanded from 2 to 8 tests covering navigation flows, playground interactions, and landing page
  • Documentation: ARCHITECTURE.md updated with all new features; README updated with badges and mock server section
  • Misc: MIT license file, server excluded from Flutter analyzer, server deps in .gitignore

Test plan

  • dart analyze --fatal-warnings passes (0 warnings)
  • flutter test --exclude-tags=golden passes (110 tests)
  • dart analyze on server/ passes (0 issues)
  • Verify Vercel deploy works after merge
  • Optionally add CODECOV_TOKEN secret for private coverage reports

…web build

Add deploy job using actions/deploy-pages for automatic GitHub Pages
publishing on push to main. Add Codecov coverage upload step.
Update web build to include --base-href for correct asset paths.

Made-with: Cursor
Support fadeIn, slideUp, slideLeft, and scale animations via
props.animation in JSON contracts with configurable duration and delay.

Made-with: Cursor
…ndling

Catches build-time errors per component and renders a descriptive
red fallback instead of crashing the entire screen.

Made-with: Cursor
Wrap every component in ErrorBoundary for resilience and apply
entrance animations when props.animation is present in the node.

Made-with: Cursor
Support required, minLength, maxLength, and regex pattern validation
rules from props.validation with custom error messages and blur trigger.

Made-with: Cursor
Showcase declarative validation (required, minLength, pattern) and
staggered entrance animations on the feedback form contract.

Made-with: Cursor
…REST

Standalone server with GET /api/screens, GET /api/screens/:id, health
check, CORS middleware, and request logging.

Made-with: Cursor
Cover home->components_showcase, home->form with input, and landing
page card rendering assertions.

Made-with: Cursor
Remove the deploy job and --base-href flag since the web deploy is
managed by Vercel, not GitHub Pages.

Made-with: Cursor
Made-with: Cursor
@Ryanditko Ryanditko added documentation Improvements or additions to documentation enhancement New feature or request good first issue Good for newcomers labels Mar 31, 2026
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 31, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
flutter-backend-driven-ui Ready Ready Preview, Comment Mar 31, 2026 10:37pm

@Ryanditko Ryanditko merged commit 635f3ee into main Mar 31, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request good first issue Good for newcomers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant