Hosted on Vercel
The release of Vue 2.7 came with a port of Vue 3's Composition API. It still has the same limitations as Vue 2 when it comes to object tracking but the ergonomics are just as wonderful. I'll use a mix of them to demonstrate that I have working knowledge of both.
HOWEVER, I couldn't use @heroicons
or @headlessui
due to incompatibility with Vue 2.
The Vuex store architecture is appropriate for the tiny scope of the app but any larger and I would split each piece into separate modules.
For deadline's sake, it wasn't possible to maintain consistently clean code but here's some notable bits:
- pinned node environments for CI and local development
- upgraded necessary dependencies (Vite and its vue plugin were outdated) and purged a few packages
- using typescript annotations via jsdoc comments in `@/router/index.js
- When RouterLinks are used, prefer using the
:to="{ name, params }"
syntax instead of path matching - folder structure for page sections (see
@/components/home
) - occasional use of
<slot>
s - all global state mutations happen through actions