Bops
AI 봇 팀이 업무 운영을 담당, 메일·파이프라인·청구·보고서 관리, 각각 컴퓨터·이메일·전화번호 보유, 모든 정보를 기억
인도 법원 변호사를 위한 사건 관리, 변호사 검색·명령 요약·고등법원 사건 목록 제공
Case management for advocates practising before Indian courts: state-wide advocate search, order summaries that become tasks, cause lists from the Telangana High Court, most other High Courts and the
비즈니스Python · TypeScriptGitHub @Bugs0007온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Case management for advocates practising before Indian courts: state-wide advocate search, order summaries that become tasks, cause lists from the Telangana High Court, most other High Courts and the District Courts read every evening and morning, and a case-file assistant that cites its sources. Sign up with Google.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Legal case management platform for a solo/small-firm advocate practicing in Indian courts.
services.ecourts.gov.in (District Courts) or hcservices.ecourts.gov.in (High Courts), then keeps them refreshed.Everything is scoped per advocate (multi-tenant, token-authenticated) — see CLAUDE.md for the full architecture reference.
| Layer | Technology |
|---|---|
| Backend | Django 5.1.11 + Django REST Framework |
| Database | PostgreSQL + pgvector |
| AI (chat) | LangGraph — hybrid pgvector/keyword retrieval + LLM generation |
| AI (summaries) | Direct LLM call, no retrieval — see CLAUDE.md |
| LLM providers | Groq, Ollama, or OpenAI (switchable independently of embeddings) |
| Embeddings | Gemini, Ollama, or OpenAI (switchable independently of the LLM) |
| Court data | bharat-courts against the live eCourts portals |
| Frontend | Next.js 15, React 19, TypeScript, Tailwind CSS |
| Background jobs | Postgres-backed queue (ProcessingJob + manage.py process_jobs) — no Celery/Redis |
ddddocr/opencv-python-headless versions target 3.13; anything 3.11+ works)ocrmypdf for scanned documents — see Gotchas in CLAUDE.md for platform-specific install notes)git clone <repo-url>
cd CASE_INTEL
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python -m spacy download en_core_web_sm # required — see Gotchas in CLAUDE.md
cp .env.example .env
# edit .env — see Environment variables below
psql -U postgres -c "CREATE DATABASE case_intel;"
psql -U postgres -d case_intel -c "CREATE EXTENSION vector;"
python manage.py migrate
python manage.py createsuperuser
Pick one LLM provider and one embedding provider (they're independent — see CLAUDE.md):
# Ollama (local, free, covers both axes)
ollama pull llama3.1:8b
ollama pull nomic-embed-text
ollama serve
# OR set in .env: USE_GROQ=true + GROQ_API_KEY=... (LLM)
# OR set in .env: USE_GEMINI_EMBEDDINGS=true + GEMINI_API_KEY=... (embeddings)
# Terminal 1 — backend
python manage.py runserver
# Terminal 2 — background worker (required: uploads/order summaries/advocate
# search/cause lists all sit "queued" forever without this running)
python manage.py process_jobs
# Terminal 3 — frontend
cd frontend-next
npm install # always run this even if node_modules exists — see CLAUDE.md
npm run dev
.env.example documents every variable settings.py reads, with defaults where they exist. The ones actually required to get a working local instance:
| Variable | Required? | Notes |
|---|---|---|
SECRET_KEY, DEBUG, ALLOWED_HOSTS | Yes | SECRET_KEY has an insecure fallback in settings.py for local dev only — never rely on it in production |
DB_NAME, DB_USER, DB_PASSWORD, DB_HOST, DB_PORT | Yes | |
One of: USE_OLLAMA=true, or USE_GROQ=true + GROQ_API_KEY | Yes | LLM (chat generation) provider |
One of: Ollama running, or USE_GEMINI_EMBEDDINGS=true + GEMINI_API_KEY | Yes | Embedding provider — independent toggle from the LLM one |
GMAIL_CLIENT_ID, GMAIL_CLIENT_SECRET | Only for Gmail sync | Everything else works without it |
RESEND_API_KEY, DEFAULT_FROM_EMAIL | Only for invoice email delivery | Sent via Resend's API (django-anymail), not SMTP. Without RESEND_API_KEY, invoice "send" logs the delivery instead of emailing it — the feature stays usable, just without real email. See ADMIN_EMAIL_SETUP.md. |
USE_S3 + AWS_* | Only for S3 storage | Defaults to local disk under media/ |
TELANGANA_HC_COURT_KEY, TELANGANA_HC_BENCH_CODE | No | Defaults work as-is |
See CLAUDE.md for exactly how the LLM/embedding provider toggle chains resolve, and the 768-dim embedding column gotcha if you ever change providers on a running deployment with existing data.
pytest # ~340 tests, pytest-django (pytest.ini at repo root)
cd frontend-next
npm install && npm run build && npm run lint # required whenever frontend-next/ files change
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗