Updated June 2026 5 days All students must have Python, JavaScript, and HTML programming experience. Experience with CSS is helpful, but not required. Teams new to the front end can start with Vue Essentials. This comprehensive course covers modern Vue 3 with TypeScript and its integration with FastAPI, a high-performance web framework for building APIs with Python. The course starts with the fundamentals of Vue, including how to set up a development environment with Vite, build single-file components with the Composition API and All students receive comprehensive courseware covering all topics in the course. Courseware is distributed via GitHub in the form of documentation and extensive code samples. Students practice the topics covered through challenging hands-on lab exercises. Students will need a free, personal GitHub account to access the courseware. Student will need permission to install Python, Node.js and Visual Studio Code on their computers. Also, students will need permission to install Conda/Pip Packages, NPM Packages, and Visual Studio Code extensions. If students are unable to configure a local environment, a cloud-based environment can be provided.Full-Stack Web Development with Vue and FastAPI
Class Duration
Student Prerequisites
Target Audience
Description
<script setup>, and handle events, forms, state management with Pinia, and routing with Vue Router 5. It then dives into the basics of HTTP and URLs, databases with async SQLAlchemy, and Python web frameworks. The course concludes with a detailed guide on how to build a REST API with FastAPI - including Pydantic models, async routes, cookies, errors, and specific status codes - how to secure a REST API with JWT and configure CORS, how to connect the Vue front end to the API, and how to deploy the full stack. This course is perfect for professionals who want to build robust, full-stack applications using Vue and FastAPI.Learning Outcomes
create-vue, Vite, and TypeScript, and build single-file components using the Composition API with <script setup>.ref, computed, watch), component communication with props, emits, and slots, and event handling, data binding, and forms in Vue.Training Materials
Software Requirements
Training Topics
Introduction to Vue 3
Development Environment
create-vueSingle-File Components
.vue file: <template>, <script setup>, <style>Template Syntax
v-bind (:)v-if, v-else-if, v-else, v-show)v-for and keyReactivity Fundamentals
ref() for reactive valuesreactive() for objects - and when to prefer refcomputed() for derived valueswatch() and watchEffect() for side effectsComponent Basics
defineProps() and TypeScript typesdefineEmits()defineModel()Component Composition
Event Handling
v-on (@).prevent, .stop, .once)Data Binding and Forms
v-modelv-model on inputs, selects, checkboxes, and radiosv-model modifiers (.lazy, .number, .trim)Lifecycle and Effects
onMounted, onUpdated, onUnmountednextTick() for awaiting DOM updatesState Management with Pinia
storeToRefs() and preserving reactivityRouting with Vue Router 5
<RouterLink> and <RouterView>useRouter and useRouteAsynchronous Data
fetch and composables<Suspense> (experimental) overviewQuick Review of HTTP and URLs
Quick Review of Databases
Overview of Python Web Frameworks
Representational State Transfer
Building a REST API with FastAPI
Database Access with Async SQLAlchemy
Middleware
Security
Connecting Vue to FastAPI
Deployment