A production-ready full-stack monorepo β NestJS backend with RAG (Retrieval-Augmented Generation) and a Flutter mobile app for notes, POS record management, and AI-powered Q&A.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Cortex Monorepo β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββ ββββββββββββββββββββββββββββββββββββ β
β β Flutter App β HTTPS β NestJS Backend β β
β β (mobile/) ββββββββββΊβ (backend/) β β
β β β β β β
β β β’ Riverpod β β βββββββββββ ββββββββββββββββ β β
β β β’ Drift SQLite β β β Auth β β Notes β β β
β β β’ Secure Store β β β Module β β Module β β β
β βββββββββββββββββββ β βββββββββββ ββββββββββββββββ β β
β β βββββββββββ ββββββββββββββββ β β
β β β POS β β AI / RAG β β β
β β β Module β β Module β β β
β β βββββββββββ ββββββββββββββββ β β
β β βββββββββββββββββββββββββββββββ β β
β β β Ingestion Worker β β β
β β β (BullMQ β OCR, chunk, β β β
β β β embed, upsert vectors) β β β
β β βββββββββββββββββββββββββββββββ β β
β βββββββββ¬βββββββββββββββββββββββββββ β
β β β
β ββββββββββββββ βββββββββββ ββββββββ΄βββββββ βββββββββββββββββ β
β β PostgreSQL β β Redis β β MinIO β β OpenAI / β β
β β + pgvector β β Queue β β (S3-compat) β β Gemini API β β
β ββββββββββββββ βββββββββββ βββββββββββββββ βββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
cortex/
βββ backend/ # NestJS (TypeScript) β REST API + RAG pipeline
βββ mobile/ # Flutter (Dart) β cross-platform mobile app
βββ docker-compose.yml
βββ .env.example
βββ .github/workflows/ci.yml
βββ docs/
β βββ rag.md
βββ README.md
- Docker & Docker Compose v2
- Node 20 + pnpm 9
- Flutter SDK 3.x
git clone https://github.com/your-org/cortex.git
cd cortex
cp .env.example .env
# Edit .env β set OPENAI_API_KEY (or GEMINI_API_KEY), JWT_SECRET, etc.docker compose up -d postgres redis miniocd backend
pnpm install
pnpm prisma migrate dev --name init
pnpm prisma db seed
pnpm start:devAPI docs available at http://localhost:3000/api/docs
cd backend
pnpm run start:workercd mobile
flutter pub get
flutter run| Service | URL | Description |
|---|---|---|
| Backend | http://localhost:3000 | NestJS REST API |
| Swagger | http://localhost:3000/api/docs | OpenAPI docs |
| MinIO | http://localhost:9001 | Object storage console |
| Postgres | localhost:5432 | PostgreSQL + pgvector |
| Redis | localhost:6379 | Cache + BullMQ |
β Because it is self-hostable with a local PostgreSQL/pgvector instance, your "Second Brain" data is never used to train third-party models. You own your data sovereignty.
MIT β see LICENSE.