Skip to content

A platform where teachers create classrooms and rubrics, and students engage in chat or audio conversations with bots to practice, improve, and get feedback on English.

sahilahluwalia/bolchaal

Repository files navigation

Bolchaal

A platform where teachers create classrooms and rubrics, and students engage in chat or audio conversations with bots to practice, improve, and get feedback on English.

Since it uses WebSockets and a long task queue in redis and bullMQ, it requires a VPS for deployment rather than a serverless architecture. There’s currently no deployed link available, please refer to the demo instead.

Main Scalable AI generation Text/Audio Pipeline

Main Scalable AI generation Text/Audio Pipeline

Application Images

Application Homepage

Application Homepage

Teacher Dashboard

Teacher Dashboard

Classroom Management

Classroom Management

Student Chatroom with Bot

Student Chatroom

Tech Stack

  • Frontend: Next.js 15, React 19, TypeScript, Tailwind CSS
  • Backend: Node.js, tRPC, TypeScript
  • Database: PostgreSQL with Prisma ORM, with WebSockets
  • Queue: BullMQ with Redis
  • Auth: JWT with Jose
  • Build: Turbo (monorepo), pnpm
  • Deployment: Docker, Docker Compose

Setup

Prerequisites

  • Node.js >= 18
  • pnpm 8.15.6
  • Docker & Docker Compose

For PNPM

npm install --global corepack@latest

Development

# Install dependencies
pnpm install

# Start Database
docker compose up -d postgres redis

# Setup Env Variables
find . -name ".env.example" -exec sh -c 'cp "$1" "${1%.example}"' _ {} \;

Use Vercel AI Interface to Generate Token for enabling ai features

# Setup database
pnpm run db:first-time-setup

# Start development servers
pnpm run dev

Services run on:

Deployment

Docker Compose

# Build all services
docker-compose -f docker-compose.build.yaml build

# Run in background
docker-compose up

Environment Variables

Setup Env Variables

find . -name ".env.example" -exec sh -c 'cp "$1" "${1%.example}"' _ {} \;

Required variables:

  • DATABASE_URL
  • REDIS_URL
  • JWT_SECRET
  • AI_GATEWAY_API_KEY

The main prompt templates for AI features are located in packages/common-utils/prompt.ts.
These prompts are currently generated using Gemini and are still being improved.
If you need to add or update a prompt, please edit or add a file in that directory. 📄

About

A platform where teachers create classrooms and rubrics, and students engage in chat or audio conversations with bots to practice, improve, and get feedback on English.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •