Installation

Get EDS up and running on your development machine in under 5 minutes.

Requirements

  • Node.js >= 18
  • pnpm >= 9.1.0
  • PostgreSQL database (Neon/Supabase recommended)
  • Google Cloud account (for OAuth credentials)

Clone & Install

Terminal
# Clone the repository
git clone https://github.com/EgiStr/portofolio.git
cd portofolio

# Install dependencies
pnpm install

# Navigate to EDS app
cd apps/eds

Environment Setup

Copy the example environment file and fill in your values:

Terminal
# Copy environment template
cp .env.example .env

# Generate encryption key (32 bytes)
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"

Your .env file should contain:

.env
# Database
DATABASE_URL="postgresql://user:pass@host:5432/db"
DIRECT_URL="postgresql://user:pass@host:5432/db"

# Google OAuth
GOOGLE_CLIENT_ID="your-client-id.apps.googleusercontent.com"
GOOGLE_CLIENT_SECRET="GOCSPX-..."
GOOGLE_REDIRECT_URI="http://localhost:3003/api/auth/google/callback"

# Security
ENCRYPTION_KEY="your-64-char-hex-key-here"

Database Setup

Push the Prisma schema to your database:

Terminal
# From project root
pnpm db:push

# Verify tables (opens Prisma Studio)
pnpm db:studio

Note

You should see these tables: eds_storage_nodes, eds_folders, eds_files, eds_reservations, eds_activity_logs, eds_api_keys

Run Development Server

Terminal
# Run EDS only
pnpm --filter @ecosystem/eds dev

# Or run all apps
pnpm dev

Access the dashboard at http://localhost:3003

Next Steps