EZOUTDOOR 戶外活動報名平台

June 4, 2026

EZOUTDOOR is a marketplace for booking outdoor activities around Taiwan, including SUP and kayaking experiences. Customers can discover activities, reserve a time, pay, and manage their orders. Suppliers use a separate portal to publish activities and run the operational side of each booking.

I worked across the customer storefront, supplier portal, and shared frontend component foundation.

Customer booking

The storefront covered the full booking journey: discovery, search, activity details, cart, passenger information, payment, and order completion.

Booking did not end at payment. The interface also needed to represent confirmation, cancellation, refund, and activity status clearly. Member pages brought orders, coupons, EZ Points, saved activities, and account settings into the same experience.

I maintained and extended the storefront with Handlebars, TypeScript, Less, and Webpack. Pages were assembled from reusable templates and page data, allowing shared booking patterns to stay consistent while supporting different campaigns and transaction states.

Supplier operations

The supplier portal handled the work behind each activity listing. Suppliers could manage activity plans, availability, off-days, sales calendars, orders, reimbursements, invoices, and QR tickets.

I built and maintained features in the Next.js and MUI portal, including order details, activity-plan content, status handling, and editor tooling. React Query, MUI Data Grid, FullCalendar, and Google Maps supported the more operational parts of the interface.

Shared frontend foundation

I also initialized a shared Storybook component workspace for the React and MUI interfaces. This created a place to develop common UI patterns outside individual product pages.

Result

The work connected two sides of the platform: a customer-facing booking flow and the tools suppliers use to fulfill those bookings.

If I revisited the system, I would focus on shared typed API contracts and end-to-end tests for booking, cancellation, and refund flows. These are the paths where small state differences have the largest effect on both customers and suppliers.