link-document server action attaches an uploaded file to a PO after creation. requirements.txt lists Python packages used for standalone PO generation scripts.
71 lines
3.3 KiB
Text
71 lines
3.3 KiB
Text
# ============================================================
|
|
# Pelagia Portal — Developer System Requirements
|
|
# ============================================================
|
|
# This file lists everything needed on the dev machine before
|
|
# running the application. This is a Node.js/TypeScript project
|
|
# so "requirements" are system tools, not Python packages.
|
|
# ============================================================
|
|
|
|
# ── Runtime ──────────────────────────────────────────────────
|
|
Node.js >= 20.11.0 LTS
|
|
Install via:
|
|
Windows: winget install OpenJS.NodeJS.LTS
|
|
OR https://nodejs.org/
|
|
macOS: brew install node@20
|
|
Linux: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
|
|
nvm install 20 && nvm use 20
|
|
|
|
# ── Package Manager ──────────────────────────────────────────
|
|
pnpm >= 9.0.0 (recommended — used in all scripts)
|
|
Install: npm install -g pnpm
|
|
Docs: https://pnpm.io
|
|
|
|
Alternatives: npm (bundled with Node) or yarn >= 4
|
|
|
|
# ── Database ─────────────────────────────────────────────────
|
|
PostgreSQL >= 16
|
|
|
|
Option A — Docker (recommended for local dev, no local install needed):
|
|
docker run -d \
|
|
--name pelagia-postgres \
|
|
-e POSTGRES_PASSWORD=postgres \
|
|
-e POSTGRES_DB=pelagia_portal \
|
|
-p 5432:5432 \
|
|
postgres:16-alpine
|
|
|
|
Option B — Local install:
|
|
Windows: https://www.postgresql.org/download/windows/
|
|
OR winget install PostgreSQL.PostgreSQL.16
|
|
macOS: brew install postgresql@16 && brew services start postgresql@16
|
|
Linux: sudo apt install postgresql-16
|
|
|
|
# ── Docker Desktop (for Option A above) ──────────────────────
|
|
Docker Desktop >= 4.x
|
|
Download: https://www.docker.com/products/docker-desktop/
|
|
|
|
# ── Project Setup (after all system requirements are met) ────
|
|
1. cd App/pelagia-portal
|
|
2. cp .env.example .env.local # and fill in values
|
|
3. pnpm install # install Node.js dependencies
|
|
4. pnpm db:generate # generate Prisma client
|
|
5. pnpm db:migrate # run database migrations
|
|
6. pnpm db:seed # seed sample data (optional)
|
|
7. pnpm dev # start dev server → http://localhost:3000
|
|
|
|
# ── Playwright Browser Binaries (for E2E tests) ──────────────
|
|
After pnpm install, run once:
|
|
pnpm exec playwright install --with-deps chromium
|
|
|
|
# ── Environment Variables ─────────────────────────────────────
|
|
See .env.example for the full list.
|
|
Minimum required to start locally:
|
|
NEXTAUTH_SECRET — any 32+ char random string
|
|
DATABASE_URL — PostgreSQL connection string
|
|
R2 and Resend keys are only needed to test file uploads and emails.
|
|
|
|
# ── Verified Working Versions ─────────────────────────────────
|
|
Node.js 20.11.0
|
|
pnpm 9.4.0
|
|
PostgreSQL 16.2
|
|
Next.js 15.1.x
|
|
TypeScript 5.7.x
|