Courses

Vue

Vue turns HTML templates and a little JavaScript into web apps that update by themselves. You will build an ordering app for a café, with a menu, an order and its total.

Lessons

  1. Lesson 1

    Introduction to Vue

    Find your way around a Vue app's files and the parts of a .vue file, show data, and fix errors.

    Worth 75 XP

  2. Lesson 2

    Template Syntax

    Put expressions into templates with curly braces, and set attributes, classes and styles from data.

    Worth 95 XP

  3. Lesson 3

    State and Events

    Make the page change with ref() and .value, handle clicks, typing and keys, and update arrays and objects.

    Worth 120 XP

  4. Lesson 4

    Conditions and Lists

    Choose what shows with v-if and v-show, and turn arrays into lists with v-for, filtered and sorted.

    Worth 100 XP

  5. Checkpoint

    Packing List

    Build a packing list that packs items, counts them, hides the packed ones, and removes what you don't need.

    Worth 35 XP

    What you'll build
    index.html
    The packing list for a weekend in the mountains with 3 of 7 items packed: the packed ones crossed out, each item with Pack or Unpack and Remove, and Hide packed.
  6. Lesson 6

    Forms

    Bind text fields, drop-down lists and checkboxes with v-model, send forms, and show error messages.

    Worth 100 XP

  7. Lesson 7

    Computed Values and Watchers

    Compute totals and filtered lists with computed(), and run code when data changes with watch().

    Worth 80 XP

  8. Checkpoint

    Budget Tracker

    Build a budget tracker that checks new expenses, totals them by category, and saves the month.

    Worth 35 XP

    What you'll build
    index.html
    The Budget Tracker with its form and three expenses, groceries, a train ticket and a concert, and under them €133 spent and €267 left.
  9. Lesson 9

    Components

    Split a page into .vue components, connect them with import and export, and send them data with props.

    Worth 85 XP

  10. Lesson 10

    Component Events

    Send events up from components with emit, keep one source of truth, and use v-model on your own components.

    Worth 70 XP

  11. Lesson 11

    Slots

    Pass content into components with slots, give them fallback content, and fill named slots.

    Worth 60 XP

  12. Checkpoint

    Photo Gallery

    Build a photo gallery with tiles, a big photo in a lightbox, and buttons for the next and previous photo.

    Worth 35 XP

    What you'll build
    index.html
    The photo gallery with a photo open in the lightbox over the dimmed tiles: a fir tree, its caption and place, a close button and arrows to the previous and next photo.
  13. Lesson 13

    Lifecycle and Data

    Load data in onMounted, say when loading fails, stop timers, and keep favorites when the page reloads.

    Worth 85 XP

  14. Lesson 14

    Composables

    Move logic into composables you can reuse, such as a ref that saves itself and one that loads data.

    Worth 65 XP

  15. Lesson 15

    Final Project

    Build a habit tracker that loads habits, shows your progress, saves what you check off, and counts days in a row.

    Worth 75 XP

    What you'll build
    index.html
    The habit tracker with 2 of 5 habits done today: a progress bar, a filter set to All, and the habits with checkboxes, the done ones crossed out.

About the course

Vue is a popular framework for building web apps, known for being easy to start with. The course covers templates, reactive state and events, lists and conditions, forms with v-model, computed values and watchers, components with props, events and slots, loading data, and composables.

It's meant for those who know HTML, CSS and JavaScript. You build an ordering app for a café step by step, a packing list, a budget tracker and a photo gallery, and the final project is a habit tracker that remembers your progress.