Skip to main content

Project Structure

The AIQLick platform is a multi-repository workspace. Each service lives in its own Git repository.

development/
├── aiqlick-backend/ # NestJS 11 GraphQL API
├── aiqlick-frontend/ # Next.js 16 web app
├── background-tasks/ # FastAPI AI/ML service
├── aiqlick-meeting/ # Custom Jitsi Meet fork
├── jigasi/ # Custom Jigasi transcription fork
├── jitsi-deploy/ # Jitsi Docker Compose deployment
└── documentation/ # This documentation site

Repository Overview

aiqlick-backend

The core API server. Handles authentication, CRUD operations, Stripe billing, event-driven notifications, and serves as the GraphQL gateway for the frontend.

  • Key directories: src/ (NestJS modules), prisma/ (schema + migrations)
  • Schema: 135 Prisma models in prisma/schema.prisma
  • Tests: Jest with *.spec.ts (unit) and *.integration.spec.ts (integration)

aiqlick-frontend

The web application. Server-side rendered with Next.js App Router, real-time GraphQL subscriptions, and custom TW* components built on Tailwind CSS.

  • Key directories: app/ (routes), components/, graphql/, lib/hooks/
  • Route groups: (visitor)/, (shared)/, company/, jobseeker/, admin/

background-tasks

AI/ML pipelines and the matching engine. Processes CVs, parses jobs, generates meeting insights, runs AI agents, and handles real-time transcription.

  • Key directories: app/services/, app/graphql/, app/agents/
  • Tests: pytest with markers: unit, integration, e2e

aiqlick-meeting

Custom fork of Jitsi Meet with AIQLick branding and transcription integration.

jigasi

Custom fork of Jigasi that bridges Jitsi audio to the background-tasks transcription WebSocket.

jitsi-deploy

Docker Compose configuration for deploying the full Jitsi stack (Prosody, JVB, Jicofo, Web, Jigasi) on EC2.

Cross-Repository Dependencies

Frontend ──GraphQL──► Backend ──shared DB──► Background Tasks

Jitsi Meet ──────────────────── WebSocket ──────────┘
(aiqlick-meeting + jigasi) (transcription)
  • Backend & Background Tasks share the same PostgreSQL database
  • Schema changes are made only in aiqlick-backend/prisma/schema.prisma
  • Background Tasks uses raw AsyncPG queries (no Prisma ORM)