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:
- Download from nodejs.org
- Or use nvm:
nvm install 20 nvm use 20
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:
-
Docker (Recommended for development)
docker-compose up -d postgres -
Local Installation
- macOS:
brew install postgresql@14 - Ubuntu:
sudo apt-get install postgresql-14 - Windows: Download from postgresql.org
- macOS:
-
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:
- Docker Desktop for Mac/Windows
- Docker Engine for Linux
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:
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.ymlor connection string