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:

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 mongodb-community@8.0  # 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