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)