Quickstart Guide
Follow this guide to get up and running with the workshop environment in the fastest way possible.
Prerequisites
Section titled “Prerequisites”Before you begin, ensure you have the following installed:
Additionally, you’ll need a Sentry account to follow along with the tracing and monitoring portions of this workshop:
- Sign up for a free Sentry account if you don’t already have one.
Setup Instructions
Section titled “Setup Instructions”-
Fork the repository
Go to https://github.com/getsentry/sentry-build-frontend-performance-workshop-app and click the “Fork” button in the top right. We’ll do this instead of simply cloning the repo because we’ll demo features of Sentry’s AI agent, Seer, which can open PRs to fix code for us.
-
Leave the fork network
Go to the settings of your forked repo, scroll all the way down to the Danger Zone, click “Leave fork network”, and follow the prompts to convert your forked repo into a standalone repo, all nice and isolated from the original.
-
Clone your fork into a directory we’re going to call
unborkedTerminal window git clone https://github.com/<your-username>/sentry-build-frontend-performance-workshop-app.git unborkedcd unborkedTerminal window git clone git@github.com:<your-username>/sentry-build-frontend-performance-workshop-app.git unborkedcd unborked -
Install dependencies
Installing dependencies pnpm install && pnpm playwright:install -
Set up environment variables
The project uses a turborepo monorepo structure with
apps/web(frontend) andapps/api(backend).Frontend (
Section titled “Frontend (apps/web/.env):”apps/web/.env):Create the frontend environment file:
Creating the frontend environment file cat > apps/web/.env << 'EOF'VITE_API_BASE_URL=http://localhost:3001EOFBackend (
Section titled “Backend (apps/api/.env):”apps/api/.env):Option A: Automatic Database setup (Recommended)
Spin up a temporary Postgres database using Neon:
Creating a temporary Postgres database using Neon pnpm db:newThis will automatically generate a
.envfile insideapps/apiwith aDATABASE_URLenvironment variable. You can claim it to your account later if you want, but it’s a good playground for this workshop.Option B: Manual Database Setup
If you prefer to use your own PostgreSQL instance (local or hosted via Neon/Supabase), create the backend environment file:
Creating the backend environment file cat > apps/api/.env << 'EOF'DATABASE_URL=postgresql://user:password@localhost:5432/unborkedEOFReplace
user:password@localhost:5432/unborkedwith your actual database connection string. -
Run database migrations and seed data
From the root
unborkeddirectory:Running database migrations and seed data pnpm db:migratepnpm db:seed -
Start the development servers
This single command starts both frontend and backend:
Starting the development servers pnpm dev -
Access the application
The project will now be running:
- Frontend: http://localhost:4173
- Backend API: http://localhost:3001
What’s Available After Setup
Section titled “What’s Available After Setup”
Once you’ve completed the setup, you’ll have access to:
- E-commerce Frontend: Vite + React + TypeScript application with product browsing, cart, and checkout
- Backend API: Node.js + Express with Drizzle ORM connected to PostgreSQL
- Full-Stack Application: Ready for Sentry performance and error monitoring instrumentation
This setup will allow you to progress through the workshop and start implementing Sentry. This workshop will take you through setting up Performance Monitoring, Web Vitals tracking, Error Monitoring, Session Replay, Distributed Tracing, and building production-ready dashboards and alerts!