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:Expected output
Expected output
Clone the Repository
Install Dependencies
Backend (Server)
Install npm packages
- 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
Full installation output
Full installation output
Frontend (Client)
MongoDB Setup
Choose one of the following MongoDB setup options:- MongoDB Atlas (Recommended)
- Local MongoDB
Use MongoDB Atlas (Free Cloud Database)
Create Atlas account
- Go to mongodb.com/cloud/atlas
- Sign up for a free account
- Create a new cluster (M0 free tier)
Configure network access
- Go to Network Access → Add IP Address
- Click Allow Access from Anywhere (0.0.0.0/0)
- Confirm
Create database user
- Go to Database Access → Add New Database User
- Choose Password authentication
- Username:
skillrise - Generate a secure password
- Grant Read and write to any database permission
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
Quick signup links
Quick signup links
- Clerk: dashboard.clerk.com/sign-up
- Razorpay: dashboard.razorpay.com/signup (India) or use Stripe for international
- Cloudinary: cloudinary.com/users/register_free
- Groq: console.groq.com (sign in with Google/GitHub)
Verify Installation
Before proceeding to configuration, verify that all components are installed:Installation complete! You’re ready to proceed to Configuration.
Troubleshooting
npm install fails with permission errors
npm install fails with permission errors
Solution: Avoid using
sudo with npm. Instead, configure npm to use a different directory:Node version mismatch
Node version mismatch
MongoDB connection refused
MongoDB connection refused
For local MongoDB:For MongoDB Atlas: Verify network access settings allow your IP address.
Port 3000 or 5173 already in use
Port 3000 or 5173 already in use
Error:
EADDRINUSE: address already in use :::3000Solution: Find and kill the process using the port: