Bops
AI 봇 팀이 업무 운영을 담당, 메일·파이프라인·청구·보고서 관리, 각각 컴퓨터·이메일·전화번호 보유, 모든 정보를 기억
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗JobIN is an AI-powered SaaS platform designed to streamline the modern job search. It analyzes a candidate's uploaded resume alongside target job descriptions to generate ATS-optimized resumes and cover letters.
The platform includes a public job catalogue, AI-assisted resume and cover-letter tools, an application tracker, a Chrome extension, Stripe subscriptions, and role-controlled admin workflows. Sign-in can use the configured OCI, Supabase, or Auth0 integration; this is provider-backed identity with user-scoped API authorization, not a full enterprise multi-tenant system.
JobIN is built using a modern, decoupled monorepo architecture:
This repository uses a workspace structure:
JobIN/
├── apps/
│ ├── api/ # NestJS API and Prisma schema/migrations
│ ├── web/ # Next.js 16 web application
│ └── extension/ # Chrome extension (Manifest V3)
├── docs/ # Product and architecture documentation
└── render.yaml # Render API service configuration
The root-level backend/ and frontend/ directories are legacy snapshots; active development and deployment use the apps/ workspaces.
Browser (Next.js) ──OCI access token───────────┐
├──> NestJS API ──Prisma──> PostgreSQL on OCI
Chrome extension ──provider access token─────────┘ │
├──> OCI Object Storage (resume files)
├──> AI provider (resume/cover letter tasks)
└──> Stripe (checkout, billing portal, webhooks)
apps/web) — Next.js App Router UI for registration, sign-in, resume management, AI tools, job tracking, billing, and admin pages. It uses OCI Identity Domains Authorization Code + PKCE by default and sends an API access token to the backend; ID tokens are not used for API authorization. Provider settings are in the corresponding .env.example files.apps/extension) — Manifest V3 extension. Its popup/options/side panel communicate with the extension service worker; the worker detects supported job pages, requests autofill data, and calls the same API endpoints as the web app. It defaults to Supabase Auth and supports OCI/Auth0 Authorization Code + PKCE using Chrome Identity. It does not connect directly to PostgreSQL or call AI providers.apps/api) — NestJS is the trusted boundary for application data and privileged operations. The historically named SupabaseAuthGuard validates tokens for the configured provider mode (oci, oci_dual, auth0, or Supabase). It resolves the identity to a JobIN User, checks account status, and attaches roles and permissions. Controllers and services enforce endpoint and ownership authorization; services perform business logic.apps/api/prisma; connection strings are supplied by DATABASE_URL and DIRECT_URL.AI_SETTINGS_ENCRYPTION_KEY; never expose provider keys to the web app or extension.여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗