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 documentationportal
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 messagesportal-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.mdLite handlers use in-memory metadata. File bytes pass through one storage interface selected at startup. Production metadata persistence is not bundled.