finds.dev← search

// the find

bailicangdu/vue2-elm

★ 41,006 · Vue · GPL-2.0 · updated Apr 2025

Large single page application with 45 pages built on vue2 + vuex. 基于 vue2 + vuex 构建一个具有 45 个页面的大型单页面应用

A ~45-page Vue2 + Vuex clone of the Ele.me food-delivery app, covering the full user flow: city/location, restaurant browsing, cart, checkout, login/registration, addresses, and order history. Aimed at developers past the tutorial stage who want to see how Vuex holds up on something bigger than a todo app or music player demo.

Actually exercises Vuex at scale — cart totals, coupons, and multi-step checkout state are handled through real mutations/actions rather than local component state, which is the part most Vue tutorials skip. Route nesting mirrors the app's real complexity (confirmOrder/children/children/children is five levels deep), so it's a decent reference for structuring a large single-page app's router and component tree. Ships a companion Node backend (node-elm) so you can run it against real endpoints instead of the bundled tempdata mocks.

Vue2 + Vuex + webpack — everything here is the pre-Composition-API, pre-Vite way of doing things, so the patterns don't transfer directly to a Vue3 codebase. Zero tests in a project whose whole pitch is 'money-handling logic is hard to get right.' Payment was never implemented (the README's own checklist admits it), so the one flow that would actually validate the checkout logic is missing. No TypeScript, and dependencies are frozen circa 2017 Node 6 — expect friction just getting `npm install` to complete on a modern toolchain.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →