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.example
to.env
in bothapps/web
andapps/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:5173
- 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 migrations
apps/
├── 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
See CLAUDE.md
for detailed project documentation.