Prerequisites
Before you begin, ensure you have the following installed:- Bun v1.0.0 or higher
- Node.js v18.0.0 or higher (required for Convex CLI)
- Git for cloning the repository
- A Convex account for backend services
Evaly uses Bun as its runtime, not Node.js. Make sure to use Bun commands for running the application.
Quick Start
Install Dependencies
Install all required dependencies using Bun:This will install all frontend and backend dependencies including:
- TanStack Start (React 19 meta-framework)
- Convex SDK for backend integration
- Tailwind CSS v4 for styling
- shadcn/ui components
- TipTap rich text editor
Set Up Convex Backend
Create a new Convex project or link to an existing one:This command will:
- Create a new Convex deployment (if you don’t have one)
- Generate your deployment credentials
- Start the Convex development server
- Watch for changes in the
convex/directory
Keep this terminal window open. The Convex development server needs to run continuously.
Configure Environment Variables
The Convex CLI will automatically create a See the Environment Configuration page for detailed environment variable setup.
.env.local file with your deployment URL. Verify it contains:Tech Stack Overview
Frontend
- Framework: TanStack Start - React 19 meta-framework with file-based routing
- Runtime: Bun - Fast JavaScript runtime
- Styling: Tailwind CSS v4 with custom design tokens
- UI Components: shadcn/ui built on Radix UI primitives
- Rich Text Editor: TipTap for question creation
- Build Tool: Vite bundler
Backend
- Backend: Convex - Serverless backend with real-time capabilities
- Database: Convex’s built-in database with schema validation
- Authentication: Convex Auth with multi-provider support (Google OAuth)
- Real-time: WebSocket subscriptions for live updates
- File Storage: Cloudflare R2 via
@convex-dev/r2
Additional Components
- @convex-dev/presence: Real-time presence tracking for test monitoring
- @convex-dev/agent: AI agent framework for question generation
- @convex-dev/polar: Subscription and billing integration
Project Structure
Development Scripts
Verification
After completing the installation, verify everything is working:- Frontend: Visit
http://localhost:3000- you should see the Evaly landing page - Backend: Check the Convex dashboard at dashboard.convex.dev - your deployment should show as active
- Database: The Convex dev server will automatically create all necessary database tables based on your schema
Next Steps
- Configure Environment Variables for authentication and external services
- Learn about Deployment to Cloudflare Workers
- Explore the API Overview for building on top of Evaly