Skip to content

Architecture

Folder Structure

How the two applications are organized.

Buyer documentation is provided in English.

Top level

text
hireiq/
├── portal/             Next.js app: marketing, docs, auth, dashboard
├── portal-api/
│   └── lite/           Self-contained Golang API
└── docs/               Written documentation

portal

text
portal/
├── app/[locale]/
│   ├── (marketing)/   Landing and documentation
│   ├── (auth)/        Login, register, password reset
│   └── (dashboard)/   Jobs, candidates, screenings, billing, settings, admin
├── components/        UI primitives and feature components
├── resolvers/         TanStack Query boundary by domain
├── services/          Typed HTTP transport by domain
├── store/             Zustand client state
├── types/             API DTO and domain contracts
└── i18n/              Locale routing and messages

portal-api/lite

text
portal-api/lite/
├── cmd/api/               HTTP entry point
├── internal/api/          Handlers split by portal domain
├── internal/storage/      Memory, S3, and MinIO file drivers
├── internal/store/        Concurrency-safe JSON store
│   └── fixtures/          Small synthetic embedded dataset
├── .env.example           Port, CORS, storage settings
└── README.md
Lite handlers use in-memory metadata. File bytes pass through one storage interface selected at startup. Production metadata persistence is not bundled.