Bops
A team of AI bots that runs your business ops: inbox, pipeline, invoices, reports. Each one has its own computer, email and phone number, and remembers everything.
翻訳待ち
リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full 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.This is the beginning of the README. Read the rest at the original. Read the full README ↗