Analytics dashboard for ClickUp project management with JWT authentication.
- Node.js 18+
- PostgreSQL
chmod +x setup.sh
./setup.sh
npm run devVisit http://localhost:3000
Default Login:
- Email:
admin@admin.com - Password:
admin123
Using Docker:
docker run --name team-dashboard-db \
-e POSTGRES_PASSWORD=postgres \
-e POSTGRES_DB=team_dashboard \
-p 5432:5432 \
-d postgres:15Using Local PostgreSQL:
chmod +x db-setup-once.sh
./db-setup-once.shOr manually:
sudo -u postgres psql -c "CREATE USER swapps WITH PASSWORD 'swapps123' CREATEDB;"
sudo -u postgres psql -c "CREATE DATABASE team_dashboard OWNER swapps;"npm installcp .env.example .envEdit .env with your credentials:
# Database (choose one)
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/team_dashboard?schema=public" # Docker
# DATABASE_URL="postgresql://swapps:swapps123@localhost:5432/team_dashboard?schema=public" # Local
# ClickUp API (get from: ClickUp Settings → Apps → API)
CLICKUP_API_TOKEN="your_token"
CLICKUP_TEAM_ID="your_team_id"
CLICKUP_LIST_ID="your_list_id"
# JWT Secret (generate with command below)
JWT_SECRET="generate_with_command_below"Generate JWT secret:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"npx prisma generate
npx prisma migrate dev --name init
npm run db:seednpm run devVisit http://localhost:3000 and login with admin@admin.com / admin123
- Go to ClickUp Settings → Apps → API
- Generate API token
- Get Team ID from URL:
https://app.clickup.com/{TEAM_ID}/... - Get List ID from URL:
https://app.clickup.com/.../{LIST_ID}/... - Add values to
.envfile
npm run dev # Start dev server
npm run build # Build for production
npm run db:studio # Open database GUI
npm run db:seed # Create admin userError: "Authentication failed against database server"
Fix: Update .env with correct credentials:
- Docker:
postgresql://postgres:postgres@localhost:5432/team_dashboard?schema=public - Local:
postgresql://swapps:swapps123@localhost:5432/team_dashboard?schema=public
Then restart dev server:
# Stop server (Ctrl+C)
npm run devCheck what's running:
lsof -i :5432Stop existing PostgreSQL or use existing database.
- Verify API token is valid
- Check Team ID and List ID are correct
- Ensure you have API access permissions in ClickUp
- Next.js 14+ (App Router)
- TypeScript
- PostgreSQL + Prisma
- JWT Authentication
- TailwindCSS + shadcn/ui
- TanStack Query
- Recharts
ISC