
Flutter screen Fix and end end to end testing
- or -
Post a project like this29
$10/hr
- Posted:
- Proposals: 6
- Remote
- #4501394
- Open for Proposals
PPH's TOP Notch Website & Mobile App Developer & Designer(10+ yrs) ✔ Wordpress ✔ Shopify ✔ OpenCart ✔ Laravel ✔ PHP ✔ React Native ✔ Android ✔ iOS ✔HTML/CSS✔Javascript/jQuery✔Responsive Design✔ASP.net




♛ Most Trusted #1 Team |19+ years of expertise in Website, Mobile Apps, Desktop & Console Games. Wordpress, ReactJS, Shopify, Laravel, Python, React Native, Flutter, Unity, Unreal Engine and AR/VR




55983612834211943366117087121122362311431908
Description
Experience Level: Entry
Estimated project duration: 3 days
South African on-demand delivery platform. The Flutter app is a multi-role super app (Buyer, Supplier, Broker, Driver, Consumer, Runner) built with Flutter 3.x and Riverpod 2.x. Approximately 70% of the design system is correctly implemented. This job is to fix the remaining 30% of design inconsistencies to match the provided reference screenshots exactly.
What You Will Receive
• Full Flutter codebase via GitHub private repository or zip file
• Reference screenshots from the Claude design system showing the exact target appearance for every screen
• AppColors constants file showing the exact hex values for each role accent colour
• Written spec listing every known issue (detailed below)
Covers every single known design system violation across four categories. Typography: self-hosted Inter Variable instead of google_fonts, font weight cap at w600 for display and w500 for everything else, zero w700/w800 anywhere, correct price format with space after R. Components: ClipRRect replacing every ClipOval, 1px card border with correct shadow, 100px pill radius replacing 4px, the one gradient rule (hero card only), Material Symbols Rounded replacing all emoji icons, working back button handler everywhere, zero hardcoded hex values. Colours: three specific wrong values that need correcting — consumerAccent is #14B8A6 not #0F766E, runnerAccent is #0D9488 not #10B981, partnerAccent #4F46E5 is missing entirely. The brief includes five grep verification commands — the freelancer cannot submit without running all five and getting zero results.
Brief 2 — Screen Fixes + End-to-End Tests
Thirteen specific screens listed with the exact issue on each. The splash screen not completing its animation. The OTP verify screen not auto-advancing between boxes or auto-submitting on the sixth digit. The workspace selector not showing the accent border on the selected card. The buyer home hero price card not loading from Supabase. The supplier requests feed not updating via real-time subscription. The freshness colour bar not changing colour by age. The live tracking map not showing the runner. The driver POD OTP not blocking on wrong entry. The gauge photo allowing gallery instead of camera only. The runner wallet combining earnings and reimbursements into one total instead of two separate rows. The runner job card having no visible countdown timer. The consumer OTP field visible before status reaches arrived. The bottom nav active state not switching to FILL 1 icons.
Fifteen integration tests mapped to the exact scenarios. T-01 and T-02 verify the OTP timing rule directly in the database. T-06 is the hardest — it tests that the OTP widget is hidden during in_transit, then appears when status changes to arrived via a real-time subscription update. T-08 tests the real-time feed by inserting directly into the test database while the supplier screen is open. T-12 tests the critical dispose() leak — confirms unsubscribe() was actually called when navigating away.
Brief 3 — Google + Facebook OAuth
The most specific brief because OAuth setup has a lot of platform config that trips people up. Covers the complete Dart implementation for both providers via Supabase signInWithIdToken (not signInWithOAuth — this distinction matters and is the screening question). Android config: google-services.json placement, SHA-1 and SHA-256 fingerprints in Google Cloud Console for both debug and release keystores, Facebook strings.xml and AndroidManifest entries. iOS config: GoogleService-Info.plist, URL scheme in Info.plist, Facebook Info.plist keys. The post-login routing logic covers four cases: new user with no user_roles row goes to role selector, existing single-role user goes straight to home, multi-role user goes to workspace selector, user with preferred_workspace set bypasses the selector. Seven test cases the freelancer must demonstrate in a screen recording before final payment.
What You Will Receive
• Full Flutter codebase via GitHub private repository or zip file
• Reference screenshots from the Claude design system showing the exact target appearance for every screen
• AppColors constants file showing the exact hex values for each role accent colour
• Written spec listing every known issue (detailed below)
Covers every single known design system violation across four categories. Typography: self-hosted Inter Variable instead of google_fonts, font weight cap at w600 for display and w500 for everything else, zero w700/w800 anywhere, correct price format with space after R. Components: ClipRRect replacing every ClipOval, 1px card border with correct shadow, 100px pill radius replacing 4px, the one gradient rule (hero card only), Material Symbols Rounded replacing all emoji icons, working back button handler everywhere, zero hardcoded hex values. Colours: three specific wrong values that need correcting — consumerAccent is #14B8A6 not #0F766E, runnerAccent is #0D9488 not #10B981, partnerAccent #4F46E5 is missing entirely. The brief includes five grep verification commands — the freelancer cannot submit without running all five and getting zero results.
Brief 2 — Screen Fixes + End-to-End Tests
Thirteen specific screens listed with the exact issue on each. The splash screen not completing its animation. The OTP verify screen not auto-advancing between boxes or auto-submitting on the sixth digit. The workspace selector not showing the accent border on the selected card. The buyer home hero price card not loading from Supabase. The supplier requests feed not updating via real-time subscription. The freshness colour bar not changing colour by age. The live tracking map not showing the runner. The driver POD OTP not blocking on wrong entry. The gauge photo allowing gallery instead of camera only. The runner wallet combining earnings and reimbursements into one total instead of two separate rows. The runner job card having no visible countdown timer. The consumer OTP field visible before status reaches arrived. The bottom nav active state not switching to FILL 1 icons.
Fifteen integration tests mapped to the exact scenarios. T-01 and T-02 verify the OTP timing rule directly in the database. T-06 is the hardest — it tests that the OTP widget is hidden during in_transit, then appears when status changes to arrived via a real-time subscription update. T-08 tests the real-time feed by inserting directly into the test database while the supplier screen is open. T-12 tests the critical dispose() leak — confirms unsubscribe() was actually called when navigating away.
Brief 3 — Google + Facebook OAuth
The most specific brief because OAuth setup has a lot of platform config that trips people up. Covers the complete Dart implementation for both providers via Supabase signInWithIdToken (not signInWithOAuth — this distinction matters and is the screening question). Android config: google-services.json placement, SHA-1 and SHA-256 fingerprints in Google Cloud Console for both debug and release keystores, Facebook strings.xml and AndroidManifest entries. iOS config: GoogleService-Info.plist, URL scheme in Info.plist, Facebook Info.plist keys. The post-login routing logic covers four cases: new user with no user_roles row goes to role selector, existing single-role user goes straight to home, multi-role user goes to workspace selector, user with preferred_workspace set bypasses the selector. Seven test cases the freelancer must demonstrate in a screen recording before final payment.
JACOB M.
100% (3)Projects Completed
1
Freelancers worked with
1
Projects awarded
40%
Last project
4 Jun 2026
United Kingdom
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies