# Vendor Onboarding Case Study

> Canonical page: https://codinghouse.biz/use-cases/food-truck-vendor-onboarding
> Language: en-US. Publisher: Coding House Studio LLC. Site map: https://codinghouse.biz/sitemap.md

**Vendor Onboarding That Gets Ice Cream Trucks Online**

How a truck owner creates an account, accepts the terms and signs in on mobile and on the web with one identity.

- Client: Ice Cream Truck Marketplace
- Platform: Mobile & Web
- Timeframe: 4 months
- Industries: [Food & Mobile Retail](https://codinghouse.biz/industries/food-and-mobile-retail.md)
- Services: [Mobile App Development](https://codinghouse.biz/services/mobile-app-development.md), [Web App Development](https://codinghouse.biz/services/web-app-development.md), [UI/UX Design](https://codinghouse.biz/services/ui-ux-design.md)
- Solutions: [Marketplace Platforms](https://codinghouse.biz/solutions/marketplace-platforms.md)
- Technologies: [Flutter](https://codinghouse.biz/technologies/flutter.md), [Firebase](https://codinghouse.biz/technologies/firebase.md), [Next.js](https://codinghouse.biz/technologies/nextjs.md)

## About

A location based marketplace is only as good as its supply side. Truck owners work on the road, are rarely at a desk and will not tolerate a registration flow that is slow, confusing or fails silently.

## Challenge

A single identity has to drive two clients, a Flutter app and a server rendered web portal, and the platform needs recorded consent from every vendor.

## Solution

The Flutter app opens with a clear choice between customer and vendor and takes a vendor from sign up to sign in with inline validation, plain error messages and password reset.

The same account works on the web portal where the vendor completes the business profile. Terms and Conditions must be accepted before the app can be used.

## Main functionality

- **Email, Google and Apple sign-in**: Fast account creation on the road.
- **Inline validation**: Required fields, email format and password rules before any request.
- **Password recovery**: Self-service reset on mobile and web.
- **Recorded consent**: Terms accepted before the app is usable.
- **One account**: Same login on the app and the web portal.

## Results

- One account covers mobile and web
- Mistakes caught before a request leaves the device
- Vendors recover their own passwords without support

- 21: screen modules in the app
- 11: web portal routes

## Technical implementation

- About 24,700 lines of Dart across 21 screen modules
- Firebase Authentication with App Check against bot traffic
- The web portal verifies the Firebase session on the server for every request

## Screenshots

- Vendor sign up options: https://codinghouse.biz/_next/static/media/app_vendor_02_sign_up_options.0f16p-olc6uwm.webp
- Welcome screen with customer and vendor paths: https://codinghouse.biz/_next/static/media/app_vendor_01_welcome.0t3a3h2d4-qh3.webp
- Inline validation errors: https://codinghouse.biz/_next/static/media/app_vendor_05_sign_up_email_validation_errors.1713ivmuutba3.webp
- Terms and conditions acceptance: https://codinghouse.biz/_next/static/media/app_vendor_16_terms_and_conditions_dialog.0gva_lvhjhev~.webp
- Vendor web portal login: https://codinghouse.biz/_next/static/media/desktop_vendor_01_login.0h568m22f00_3.webp

## Contact

- Email: studio@codinghouse.biz
- Book a 30 minute call: https://calendly.com/codinghouse/30min
- Contact form: https://codinghouse.biz/#contact
