A full-stack e-commerce application built for demonstrating common frontend and backend performance issues, and how Sentry helps identify and fix them.
- Frontend: React + Vite + TypeScript
- Backend: Node.js + Express + PostgreSQL (Drizzle ORM)
- Monitoring: Sentry
- Monorepo: Turborepo with pnpm workspaces
- Node.js >= 16
- pnpm (
npm install -g [email protected]) - PostgreSQL database
- Install dependencies:
pnpm install-
Set up environment variables:
- Copy
.env.exampleto.envin bothapps/webandapps/api - Configure your database URL and Sentry DSN
- Copy
-
Run database migrations:
pnpm migrate- Seed the database:
pnpm seed- Start development servers:
pnpm dev- Frontend: http://localhost:4173
- Backend: http://localhost:3001
pnpm dev # Start all dev servers
pnpm build # Build all apps
pnpm check-types # Type-check all apps
pnpm lint # Lint all apps
pnpm seed # Seed database
pnpm migrate # Run database migrationsapps/
├── web/ # React frontend
└── api/ # Node.js backend
This application demonstrates:
- N+1 query patterns
- Slow database queries
- Frontend performance issues
- Error tracking with Sentry
- Feature flag management