Skip to main content

Prerequisites

Before installing SkillRise, ensure you have the following installed on your system:

Node.js 20+

Required for running both client and server

npm or yarn

Package manager for JavaScript dependencies

MongoDB

Local instance or MongoDB Atlas cluster

Git

For cloning the repository
Recommended Setup: Node.js 20.x LTS, npm 10.x, MongoDB 8.x or MongoDB Atlas free tier

Verification

Verify your Node.js and npm versions:
node --version
# Expected: v20.x.x or higher

npm --version
# Expected: 10.x.x or higher
v20.11.0
10.2.4

Clone the Repository

1

Clone from GitHub

Clone the SkillRise repository to your local machine:
git clone https://github.com/pv-pushkarverma/skillrise.git
cd skillrise
Cloning into 'skillrise'...
remote: Enumerating objects: 1247, done.
remote: Counting objects: 100% (1247/1247), done.
remote: Compressing objects: 100% (892/892), done.
remote: Total 1247 (delta 678), reused 1104 (delta 589)
Receiving objects: 100% (1247/1247), 2.34 MiB | 5.21 MiB/s, done.
Resolving deltas: 100% (678/678), done.
2

Verify project structure

Check that the repository was cloned successfully:
ls -la
You should see:
client/
server/
docker-compose.yml
README.md
.github/

Install Dependencies

The client and server have separate package.json files. You must install dependencies for both.

Backend (Server)

1

Navigate to server directory

cd server
2

Install npm packages

npm install
This installs all dependencies including:
  • express (v5.1.0) - Web framework
  • mongoose (v8.13.2) - MongoDB ODM
  • @clerk/express (v1.4.8) - Authentication
  • cloudinary (v2.6.0) - Media uploads
  • groq-sdk (v0.34.0) - AI chat
  • razorpay (v2.9.6) - Payments
added 247 packages, and audited 248 packages in 12s

38 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
3

Verify installation

Check that node_modules was created:
ls -d node_modules
# Output: node_modules

Frontend (Client)

1

Navigate to client directory

cd ../client
2

Install npm packages

npm install
This installs all dependencies including:
  • react (v19.0.0) - UI library
  • react-router-dom (v7.5.1) - Routing
  • @clerk/clerk-react (v5.28.2) - Auth UI
  • axios (v1.8.4) - HTTP client
  • tailwindcss (v3.4.17) - Styling
  • vite (v6.3.1) - Build tool
added 312 packages, and audited 313 packages in 15s

102 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

MongoDB Setup

Choose one of the following MongoDB setup options:

Third-Party Service Setup

SkillRise requires API keys from the following services:

Clerk

User authentication and webhooks

Razorpay

Payment processing for course purchases

Cloudinary

Media uploads (thumbnails, course content)

Groq

AI chatbot and roadmap generation

Verify Installation

Before proceeding to configuration, verify that all components are installed:
# Check Node.js
node --version

# Check npm packages (from server directory)
cd server && npm list --depth=0

# Check npm packages (from client directory)
cd ../client && npm list --depth=0

# Check MongoDB connection (if local)
mongosh --eval "db.version()"
Installation complete! You’re ready to proceed to Configuration.

Troubleshooting

Solution: Avoid using sudo with npm. Instead, configure npm to use a different directory:
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
Error: The engine "node" is incompatible with this moduleSolution: Use nvm to install Node.js 20:
nvm install 20
nvm use 20
node --version
For local MongoDB:
# Check if MongoDB is running
sudo systemctl status mongod  # Linux
brew services list            # macOS

# Start MongoDB if stopped
sudo systemctl start mongod   # Linux
brew services start [email protected]  # macOS
For MongoDB Atlas: Verify network access settings allow your IP address.
Error: EADDRINUSE: address already in use :::3000Solution: Find and kill the process using the port:
# Find process on port 3000
lsof -ti:3000 | xargs kill -9

# Or use a different port
PORT=4000 npm run server

Next Steps

Configuration

Set up environment variables and API keys

Docker Setup

Run SkillRise with Docker Compose

Build docs developers (and LLMs) love