Clario is a premium peer-to-peer live learning platform built for real-time teaching sessions between learners and teachers. The product combines discovery, onboarding, bookings, live video sessions, chat, notes, whiteboarding, feedback, and post-session summaries into one guided experience.
- A polished public landing page with teacher discovery and positioning for the product
- Separate learner and teacher experiences
- Auth flows and post-auth routing
- Learner onboarding and teacher onboarding
- Teacher profile browsing and booking flows
- Live session rooms with video, chat, notes, resources, and whiteboard support
- Session summaries, feedback, and action-item workflows
- Real-time signaling through Socket.IO, with support for related notification plumbing
- tRPC-based server routes and Prisma-backed data models
- Cloud Run deployment assets for the web app and socket service
- Next.js 14
- React 18
- TypeScript
- Prisma
- tRPC
- Clerk
- Socket.IO
- Tailwind CSS
- Vitest
This repository is intentionally organized for a cleaner GitHub presentation. Top-level folders are:
appcloudruncomponentsdocshookslibprismarootscriptsservertests
Important:
The files inside root/ are framework-critical files that would normally live at the repository root in a standard runnable Next.js app, such as package.json, next.config.mjs, tsconfig.json, and related config files.
The platform starts with a marketing site focused on clarity, premium design, and trust. Visitors can understand the product, browse featured teachers, and move into discovery and booking.
Learners can onboard into the system, browse teachers, make bookings, join sessions, track summaries, and review follow-up feedback and action items.
Teachers get their own dashboard, schedule, settings, earnings view, and session-related workflows to manage students and ongoing teaching activity.
Clario supports live learning rooms with video calling, chat, notes, resources, and a collaborative whiteboard. The system includes signaling and realtime configuration endpoints plus a dedicated socket server.
Deployment support is included for Google Cloud Run:
- App deployment assets are in cloudrun/app.Dockerfile
- Socket deployment assets are in cloudrun/socket.Dockerfile
- Deployment helper script is in cloudrun/deploy.ps1
Supporting docs are in:
Because this repository was reorganized for folder-only top-level visibility, it is not in standard runnable Next.js layout right now.
To run it locally on another device or machine, first restore the framework files back to the repository root:
Move these files from root/ to the top level:
.dockerignore.eslintrc.json.gitignoreinstrumentation.tsmiddleware.tsnext-env.d.tsnext.config.mjspackage-lock.jsonpackage.jsonpostcss.config.mjssentry.client.config.tssentry.edge.config.tssentry.server.config.tstailwind.config.tstsconfig.jsonvercel.jsonvitest.config.ts
Move this file from docs/ to the top level:
.env.example
After restoring that standard layout:
- Install dependencies:
npm install- Create local environment variables:
cp .env.example .env.local- Fill in required environment variables, especially:
DATABASE_URLDIRECT_URLNEXT_PUBLIC_CLERK_PUBLISHABLE_KEYCLERK_SECRET_KEYNEXT_PUBLIC_SOCKET_URLSOCKET_SERVER_INTERNAL_URL
- Start the web app:
npm run dev- Start the socket server in a second terminal:
npm run socketOr run both together:
npm run dev:allFor same-network testing on another laptop or phone:
npm run dev:all:lanThen open:
http://<your-computer-ip>:3000
Run the test suite with:
npm testIf you want the repository to remain both:
- visually clean on GitHub
- directly runnable without moving files
the best next step is to convert it into a proper monorepo or wrapper-based structure rather than a presentation-only folder reorganization.