A modern Meteor 3 application template showcasing Quave's best practices for building production-ready applications with React 19, Tailwind CSS 4, and MongoDB.
This template demonstrates how Quave builds Meteor applications. It includes a complete setup with authentication, routing, styling, monitoring, and development tooling - everything you need to start building your application.
- Framework: Meteor 3.3
- Frontend: React 19 with React Compiler
- Styling: Tailwind CSS 4
- Database: MongoDB
- Bundler: Rspack (optional, for faster builds)
- Code Quality: ESLint, Prettier, Lefthook
- Passwordless email authentication via quave:accounts-passwordless-react
- Logged user state management via quave:logged-user-react
- React Router setup with conditional layouts:
LoggedLayout- Pages for authenticated users onlyAnonymousLayout- Pages for non-authenticated users onlyPublicLayout- Pages accessible to everyone
- Tailwind CSS 4 with PostCSS
- Dark theme default
- In-app alert system via quave:alert-react-tailwind
- MongoDB with quave:collections
- SimpleSchema validation
- Postmark integration via quave:email-postmark
- Synced cron jobs via quave:synced-cron
- Database migrations via quave:migrations
- Server Health Monitoring: Real-time memory metrics with V8 heap statistics
- Prometheus Metrics: Exposed at
/api/metricsvia prom-client - Monti APM: Performance monitoring with montiapm:agent
- Rspack: Fast bundler with React Compiler support
- Claude Code: AI-assisted development with specialized agents
- ESLint: Code linting with @quave/eslint-config-quave
- Prettier: Code formatting
- Lefthook: Git hooks
- Memory Leak Simulation: Test memory behavior with controlled leak endpoints
- Sticky Session Management: Handle load balancer session affinity
- Health Check API: Monitor server status via
/api/check-reconnection
- react, react-dom (v19)
- react-router-dom
- react-error-boundary
- tailwindcss
- simpl-schema
- prom-client
- react-meteor-data
- quave:collections
- quave:accounts-passwordless-react
- quave:logged-user-react
- quave:alert-react-tailwind
- quave:synced-cron
- quave:migrations
- quave:email-postmark
- montiapm:agent
- rspack
- zodern:types
- quave:slingshot - File uploads to AWS, CloudFlare, OCI
app/
├── access/ # Access control logic
├── components/ # Reusable UI components
├── general/ # App routing and core logic
├── home/ # Home page features
├── infra/ # Infrastructure (cron, migrations)
├── layouts/ # Page layouts
├── server/ # Server-side methods
├── users/ # User management
└── [domains]/ # Feature-specific modules
server/
├── health.js # Server health monitoring
├── metrics.js # Prometheus metrics
├── rest.js # REST API endpoints
└── main.js # Server entry point
.claude/
├── agents/ # Specialized AI agents
└── settings.json # Claude Code configuration
- Node.js 20+
- Meteor 3.3+
# Clone the template
git clone https://github.com/quavedev/meteor-template.git my-app
cd my-app
# Install dependencies
meteor npm install
# Start development server
meteor npm startFill in private/env/dev/settings.json with your app configuration:
public.appInfo- Application metadata
- Sign up at postmarkapp.com
- Verify your domain
- Update settings with your API key and sender email
- Sign up at montiapm.com
- Add your app ID and secret to settings
# Start development server
meteor npm start
# Run code quality checks (ESLint + Prettier)
meteor npm run quave-check
# Individual tools
meteor npm run quave-eslint
meteor npm run quave-prettierAlways run npm run quave-check before committing. The template uses:
- ESLint with @quave/eslint-config-quave
- Prettier for formatting
- React Compiler lint rules
- Lefthook for pre-commit hooks
GET /api- Basic health checkGET /api/metrics- Prometheus metricsGET /api/check-reconnection- Server health statusPOST /api/clear-sticky-session- Clear load balancer sessionPOST /api/memory-leak/start- Start memory leak simulationPOST /api/memory-leak/stop- Stop memory leakPOST /api/memory-leak/cleanup- Clean up leaked memory
The template includes a Dockerfile configured for Meteor 3.3. Build and deploy to any container platform.
See quave.cloud for Meteor-optimized hosting with:
- Automatic scaling
- Sticky session support
- MongoDB hosting
Keep your project up-to-date with template changes by reviewing the CHANGELOG.
MIT