Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/chamals3n4/OpenATS/llms.txt

Use this file to discover all available pages before exploring further.

Prerequisites

Before you start, make sure you have these installed:
  • Node.js (version 18 or higher) - Download here
  • Git - Download here
  • PostgreSQL database (we recommend Neon — free tier, no local install needed)
  • A code editor (VS Code recommended)
Check if you have them:
node --version
git --version

Initial Setup

1. Fork and Clone

Fork the repository on GitHub first, then:
git clone https://github.com/chamals3n4/OpenATS.git
cd OpenATS

2. Add Upstream Remote

git remote add upstream https://github.com/chamals3n4/OpenATS.git
git remote -v  # verify you have both origin and upstream

3. Install pnpm

npm install -g pnpm

4. Install Dependencies

Frontend:
cd web
pnpm install
Backend:
cd api
pnpm install

Environment Variables

Frontend (web)

Inside the web directory, copy the example env file:
cd web
cp .env.example .env
Then open .env and fill in the required values for your frontend application.

Backend (api)

Inside the api directory, copy the example env file:
cd api
cp .env.example .env
Then open .env and configure the following environment variables:
# Database connection
DATABASE_URL=your_postgresql_connection_string_here

# Cloudflare R2 storage (for resume uploads)
R2_ENDPOINT=
R2_ACCESS_KEY_ID=
R2_SECRET_ACCESS_KEY=
R2_BUCKET_NAME=
R2_PUBLIC_URL=

# Email service (Resend)
RESEND_API_KEY=re_123456789
RESEND_FROM_EMAIL=onboarding@resend.dev
The DATABASE_URL is required for the application to run. Get a free PostgreSQL database from Neon.

Database Setup

Run Database Migrations

This creates all the tables in your database:
cd api
pnpm drizzle-kit generate
pnpm drizzle-kit migrate

Seed the Database

This inserts the default hiring pipeline stages required for the app to work:
pnpm tsx src/db/seed.ts
You only need to run migrations and seeding once when setting up for the first time.If you ever pull changes that include schema changes, run pnpm drizzle-kit generate and pnpm drizzle-kit migrate again to keep your database in sync.

Running the Project

Start the Frontend

cd web
pnpm dev
Open http://localhost:3000 in your browser.

Start the Backend

cd api
pnpm dev
The API will be available at http://localhost:5000.
Run both frontend and backend in separate terminals for the best development experience.

Tech Stack

Frontend (web)

  • Next.js
  • TypeScript
  • Tailwind CSS
  • shadcn/ui

Backend (api)

  • Express.js
  • TypeScript
  • Node.js
  • PostgreSQL (Database)
  • Drizzle ORM (Database ORM)
  • WSO2 Asgardeo (Authentication)

Package Manager

  • pnpm

Next Steps

Build docs developers (and LLMs) love