Appearance
Setup Guide ​
Local development setup for Admin Frontend — the Nuxt 2 SSR DAM admin panel.
Repository: github.com/Collage-Inc/Admin-Frontend
Prerequisites ​
| Tool | Required version |
|---|---|
| Node.js | >=14.17.3 (Node 18 LTS recommended) |
| npm | Bundled with Node |
pnpm also works (the repo has pnpm overrides in
package.json). Scripts below usenpm; swap topnpmif that's your preference.
Clone Repository ​
bash
git clone https://github.com/Collage-Inc/Admin-Frontend.git
cd Admin-FrontendInstall Dependencies ​
bash
npm installEnvironment Variables ​
Copy the example file and fill in the required values:
bash
cp .env.example .envMinimum required variables to run locally:
| Variable | Description |
|---|---|
APP_NAME | App display name (e.g. Collage DAM) |
BASE_URL | Frontend base URL (e.g. http://localhost:3000) |
API_BASE_URL | Backend API base URL (e.g. http://localhost:8000/api) |
BACKEND_URL | Backend root URL |
DAM_FRONTEND_URL | DAM frontend URL |
APP_ENV | Environment name (development, staging, production) |
PUSHER_KEY | Pusher app key |
PUSHER_CLUSTER | Pusher cluster (e.g. mt1) |
PUSHER_AUTH_ENDPOINT | Pusher auth endpoint |
TYPESENSE_HOST | Typesense server host |
TYPESENSE_PORT | Typesense port (default 8108) |
TYPESENSE_PROTOCOL | http or https |
TYPESENSE_API_KEY | Typesense search-only API key |
STRIPE_PUBLISHABLE_KEY | Stripe publishable key |
STRIPE_WEBHOOK_ENDPOINT | Stripe webhook endpoint URL |
STRIPE_WEBHOOK_SECRET | Stripe webhook secret |
AWS_ACCESS_KEY_ID | AWS key for S3 uploads |
AWS_SECRET_ACCESS_KEY | AWS secret for S3 uploads |
AWS_BUCKET | S3 bucket name |
AWS_DEFAULT_REGION | AWS region (e.g. us-east-1) |
AMPLITUDE_API_KEY | Amplitude project key (leave empty to disable tracking) |
Never commit
.env— it contains Stripe, AWS, and Typesense secrets.
Start Dev Server ​
bash
npm run devOpens at http://localhost:3000 by default. Override the port via PORT in .env.
Other Commands ​
| Command | Description |
|---|---|
npm run build | Production build (nuxt build) |
npm run start | Start the production server |
npm run generate | Static site generation |
npm run lint | Run ESLint on .js and .vue files |
Troubleshooting ​
Pre-commit hook fails on lint
Fix the ESLint error; do not bypass with --no-verify. The hook runs lint-staged which checks staged .js and .vue files only.
Port already in use
PORT=3001Add to .env and restart.
Auth redirects loop on login
Check that API_BASE_URL and BASE_URL match the actual running servers. A mismatch causes auth cookie domain issues.
Real-time events not firing
Verify PUSHER_KEY, PUSHER_CLUSTER, and PUSHER_AUTH_ENDPOINT are set. The auth endpoint must be reachable from the browser (CORS-allowed).