Prerequisites

Before you begin working with Nespo.dev, ensure your development environment meets these requirements.

Required Software

Node.js (v20.x LTS)

Nespo.dev requires Node.js version 20.x or higher.

Check your version:

node --version
# Should output v20.x.x or higher

Installation:

pnpm (v9.x)

We use pnpm for efficient monorepo workspace management.

Check your version:

pnpm --version
# Should output 9.x.x or higher

Installation:

npm install -g pnpm@9
# Or
corepack enable
corepack prepare pnpm@9 --activate

PostgreSQL (v14+)

Nespo.dev uses PostgreSQL as its primary database.

Options:

  1. Docker (Recommended for development)

    docker-compose up -d postgres
    
  2. Local Installation

    • macOS: brew install postgresql@14
    • Ubuntu: sudo apt-get install postgresql-14
    • Windows: Download from postgresql.org
  3. Cloud Services

Git

Version control is essential for collaboration.

Check your version:

git --version

Installation:

  • Download from git-scm.com
  • Or use your package manager

Optional Tools

Docker (Recommended)

Docker simplifies database and service management.

Installation:

Visual Studio Code

Recommended IDE with excellent TypeScript support.

Recommended Extensions:

  • ESLint
  • Prettier
  • Prisma
  • Tailwind CSS IntelliSense
  • MDX

Expo CLI (For Mobile Development)

Required only if you're working on the mobile app.

npm install -g expo-cli

Mobile Development Requirements:

  • iOS Development: macOS with Xcode
  • Android Development: Android Studio with Android SDK
  • Physical Device: Expo Go app (iOS | Android)

System Requirements

Minimum Requirements

  • CPU: 2+ cores
  • RAM: 8GB
  • Storage: 5GB free space

Recommended

  • CPU: 4+ cores
  • RAM: 16GB
  • Storage: 10GB+ free space
  • Internet: Stable connection for package downloads

Development Environment Setup

1. Configure Git

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

2. SSH Keys (Optional but Recommended)

Generate SSH keys for secure Git operations:

ssh-keygen -t ed25519 -C "your.email@example.com"

Add to your GitHub/GitLab account.

3. Environment Variables

Create a .env.local file for local development secrets:

# Never commit this file to version control
DATABASE_URL="postgresql://user:password@localhost:5432/nespo"
JWT_SECRET="your-secret-key"
NEXTAUTH_SECRET="your-nextauth-secret"

Verification

Once everything is installed, verify your setup:

# Check Node.js
node --version  # Should be v20.x or higher

# Check pnpm
pnpm --version  # Should be 9.x or higher

# Check PostgreSQL
psql --version  # Should be 14.x or higher

# Check Docker (optional)
docker --version
docker-compose --version

# Check Git
git --version

Next Steps

With your environment set up, you're ready to:

  1. Clone and install Nespo.dev
  2. Understand the architecture
  3. Start building your application

Troubleshooting

pnpm command not found

If pnpm is not recognized after installation:

# Enable corepack (Node.js 16.13+)
corepack enable

# Or install globally
npm install -g pnpm

PostgreSQL connection errors

Ensure PostgreSQL is running:

# macOS
brew services start postgresql@14

# Linux (systemd)
sudo systemctl start postgresql

# Docker
docker-compose up -d postgres

Port already in use

If default ports are occupied:

  • Web: Change port in apps/web/package.json
  • API: Change port in apps/api/src/main.ts
  • PostgreSQL: Update docker-compose.yml or connection string