Complete guide to get your Study Abroad Portal up and running.
Check if already installed:
node --version
npm --versionIf not installed:
- Go to: https://nodejs.org/
- Download LTS (Long Term Support) version
- Install (follow installer instructions)
- Restart your terminal/command prompt
- Verify installation:
node --version
cd /path/to/study-abroad-portalOn Windows:
cd C:\Users\YourName\Desktop\study-abroad-portalOn Mac/Linux:
cd ~/Desktop/study-abroad-portalnpm installWhat this does:
- Installs Express (web server framework)
- Installs CORS (cross-origin resource sharing)
- Installs Body-parser (request parsing)
- Creates
node_modulesfolder - Creates
package-lock.jsonfile
Expected output:
added 57 packages, and audited 58 packages in 3s
found 0 vulnerabilities
npm startYou should see:
╔════════════════════════════════════════════════════════════╗
║ ║
║ 🌍 Study Abroad Portal Server ║
║ ║
╚════════════════════════════════════════════════════════════╝
✅ Server is running successfully!
🌐 Local: http://localhost:3000
🌐 Network: http://localhost:3000
╔════════════════════════════════════════════════════════════╗
║ Available Pages: ║
╠════════════════════════════════════════════════════════════╣
║ • Home: http://localhost:3000/ ║
║ • Start Page: http://localhost:3000/start ║
║ • Login: http://localhost:3000/login ║
...
Go to: http://localhost:3000
🎉 Success! The portal is now running!
# Start the server
npm start
# Alternative start commands (all do the same thing)
npm run dev
npm run serve
# Stop the server
Ctrl + C- http://localhost:3000/ (Home)
- http://localhost:3000/start (Landing page)
- http://localhost:3000/login
- http://localhost:3000/profile
- http://localhost:3000/preparation
- http://localhost:3000/test-prep
- http://localhost:3000/universities
- http://localhost:3000/scholarships
- http://localhost:3000/visa
- http://localhost:3000/jobs
- http://localhost:3000/api/health
- http://localhost:3000/api/universities
- http://localhost:3000/api/scholarships
Solution:
- Node.js is not installed
- Install from: https://nodejs.org/
- Restart terminal after installation
Solution:
- npm comes with Node.js
- Reinstall Node.js from: https://nodejs.org/
- On Linux, install separately:
sudo apt install npm
Solution:
npm installIf that fails:
npm install --forceOr install manually:
npm install express cors body-parserSolution A: Stop other process using port 3000
Solution B: Use different port:
# Linux/Mac
PORT=8080 npm start
# Windows Command Prompt
set PORT=8080 && npm start
# Windows PowerShell
$env:PORT=8080; npm startThen visit: http://localhost:8080
Solution:
- Check that
package.jsonexists in current directory - Verify you're in the correct directory:
ls(should show package.json) - If missing, you're in wrong directory
Solution:
# Fix npm permissions
sudo chown -R $(whoami) ~/.npm
# Or install with sudo
sudo npm installSolution:
# Clear npm cache
npm cache clean --force
# Try install again
npm installSolution (Linux/Mac):
sudo npm install -g npm@latestSolution (Windows):
- Run Command Prompt as Administrator
- Run:
npm install
If you modify server.js or other server files:
- Stop server:
Ctrl + C - Start again:
npm start
Note: HTML, CSS, and client-side JS changes don't need server restart. Just refresh browser.
- Find
start.htmlorhome.htmlin file explorer - Double-click it
- Opens in default browser
- Done! ✅
- Right-click
start.htmlorhome.html - Select "Open with"
- Choose browser (Chrome, Firefox, Edge, Safari)
- Done! ✅
- Open your web browser
- Drag
start.htmlorhome.htmlinto browser window - Done! ✅
- Open browser
- File → Open File (or Ctrl+O / Cmd+O)
- Navigate to project folder
- Select
start.htmlorhome.html - Done! ✅
| Feature | With Server | Without Server |
|---|---|---|
| Installation | Requires Node.js/npm | None needed |
| URLs | Clean (/home) | File paths (home.html) |
| API Endpoints | Available | Not available |
| Setup Time | 5 minutes | 0 seconds |
| Best For | Development, Testing | Quick viewing, Sharing |
| Database Ready | Yes (with setup) | No |
| Internet Required | No (except images) | No (except images) |
- ✅ You're developing features
- ✅ You want clean URLs
- ✅ You plan to add database
- ✅ You want API endpoints
- ✅ You're testing in production-like environment
- ✅ You just want to view/test quickly
- ✅ You don't want to install anything
- ✅ You're sharing with someone
- ✅ You're on a restricted computer
- ✅ You want simplicity
-
Explore the Portal
- Navigate through all pages
- Test features and tools
- Create a user account
-
Customize Content
- Edit university data
- Add scholarships
- Update country information
-
Database Integration (Optional)
- Read
MYSQL_INTEGRATION_GUIDE.md - Set up MySQL database
- Connect backend to database
- Read
-
Deploy Online
- See README.md deployment section
- Choose hosting platform
- Upload and go live!
- README.md - Complete documentation
- QUICK_START.txt - Quick reference
- MYSQL_INTEGRATION_GUIDE.md - Database setup
- AUTH_SYSTEM_README.md - Authentication details
- Node.js installed and verified
- Navigated to project directory
- Ran
npm installsuccessfully - Ran
npm startsuccessfully - Opened http://localhost:3000 in browser
- Portal loads correctly
- Located HTML files
- Opened
start.htmlorhome.htmlin browser - Portal loads correctly
Your Study Abroad Portal is now ready to use!
Questions? Check the troubleshooting section or README.md
Good luck with your study abroad journey! 🌍
Your Study Abroad Portal now supports both server and non-server modes!
- package.json - NPM configuration with all dependencies
- server.js - Express server with routes and API endpoints
- .gitignore - Exclude node_modules and system files
- start-server.sh - Linux/Mac automatic startup script
- start-server.bat - Windows automatic startup script
- README.md - Complete guide (updated with server instructions)
- INSTALLATION.md - Detailed installation guide
- QUICK_START.txt - Quick reference (updated)
- navigation-helper.js - Shared navigation utilities
- start.html - Beautiful landing page
- home.html - Main portal page
# 1. Install dependencies (first time only)
npm install
# 2. Start server
npm start
# 3. Open browser
# http://localhost:3000Linux/Mac:
chmod +x start-server.sh
./start-server.shWindows:
start-server.bat(Just double-click the file!)
- ✅ Clean URLs (
/homeinstead ofhome.html) - ✅ API endpoints ready
- ✅ Better for development
- ✅ Database integration ready
- ✅ Professional production-like setup
- Double-click
start.htmlorhome.html - Portal opens in browser
- That's it!
- ✅ No installation needed
- ✅ Instant access
- ✅ Works offline
- ✅ Easy sharing
study-abroad-portal/
│
├── 🚀 SERVER FILES
│ ├── package.json # NPM configuration
│ ├── server.js # Express server
│ ├── .gitignore # Git ignore rules
│ ├── start-server.sh # Linux/Mac startup script
│ └── start-server.bat # Windows startup script
│
├── 🌐 WEB PAGES
│ ├── start.html # Landing page
│ ├── home.html # Main portal
│ ├── login.html # Authentication
│ ├── profile.html # User dashboard
│ ├── preparation-tips.html # Prep guide
│ ├── test-prep.html # Test resources
│ ├── universities.html # University search
│ ├── scholarships.html # Scholarship finder
│ ├── visa-guide.html # Visa info
│ └── job-prospects.html # Job prospects
│
├── 🎨 STYLES
│ ├── home-styles.css
│ ├── login-styles.css
│ ├── profile-styles.css
│ └── [other CSS files]
│
├── ⚙️ SCRIPTS
│ ├── home-script.js
│ ├── login-script.js
│ ├── profile-script.js
│ ├── navigation-helper.js # Shared utilities
│ └── [other JS files]
│
└── 📚 DOCUMENTATION
├── README.md # Main documentation
├── INSTALLATION.md # Setup guide
├── QUICK_START.txt # Quick reference
├── SERVER_SETUP_COMPLETE.md (this file)
├── MYSQL_INTEGRATION_GUIDE.md
└── AUTH_SYSTEM_README.md
| URL | Page | Description |
|---|---|---|
/ |
Home | Landing page |
/start |
Start | Entry page |
/home |
Home | Main portal |
/login |
Login | User authentication |
/profile |
Profile | User dashboard |
/preparation |
Prep Tips | Study preparation |
/test-prep |
Tests | IELTS/GRE/TOEFL |
/universities |
Universities | University search |
/scholarships |
Scholarships | Scholarship finder |
/visa |
Visa Guide | Visa information |
/jobs |
Job Prospects | Career opportunities |
| Endpoint | Method | Purpose |
|---|---|---|
/api/health |
GET | Health check |
/api/auth/login |
POST | User login |
/api/auth/register |
POST | User registration |
/api/user/profile |
GET | Get user profile |
/api/user/save-university |
POST | Save university |
/api/user/save-scholarship |
POST | Save scholarship |
/api/universities |
GET | Get universities list |
/api/scholarships |
GET | Get scholarships list |
Note: These are mock endpoints. They return sample data for testing. See MYSQL_INTEGRATION_GUIDE.md to connect to a real database.
# Install dependencies (first time only)
npm install
# Start the server
npm start
# Alternative start commands (all equivalent)
npm run dev
npm run serve
# Stop the server
Ctrl + C╔════════════════════════════════════════════════════════════╗
║ ║
║ 🌍 Study Abroad Portal Server ║
║ ║
╚════════════════════════════════════════════════════════════╝
✅ Server is running successfully!
🌐 Local: http://localhost:3000
🌐 Network: http://localhost:3000
╔════════════════════════════════════════════════════════════╗
║ Available Pages: ║
╠════════════════════════════════════════════════════════════╣
║ • Home: http://localhost:3000/ ║
║ • Start Page: http://localhost:3000/start ║
║ • Login: http://localhost:3000/login ║
║ • Profile: http://localhost:3000/profile ║
║ • Preparation: http://localhost:3000/preparation ║
║ • Test Prep: http://localhost:3000/test-prep ║
║ • Universities: http://localhost:3000/universities ║
║ • Scholarships: http://localhost:3000/scholarships ║
║ • Visa Guide: http://localhost:3000/visa ║
║ • Job Prospects: http://localhost:3000/jobs ║
╚════════════════════════════════════════════════════════════╝
The server logs all requests:
[2026-01-29T12:00:00.000Z] GET /
[2026-01-29T12:00:05.000Z] GET /universities
[2026-01-29T12:00:10.000Z] POST /api/auth/login
Solution: Install Node.js from https://nodejs.org/
Solution: Run npm install
Solution:
# Use different port
PORT=8080 npm startSolution: Check that you're in the correct directory with package.json
Solution:
sudo chown -R $(whoami) ~/.npmSee INSTALLATION.md for complete troubleshooting guide.
- Edit the files
- Save
- Refresh browser (F5 or Ctrl+R)
- No server restart needed!
- Edit server.js
- Save
- Stop server (Ctrl+C)
- Restart server (
npm start)
When you run npm install, these packages are installed:
| Package | Version | Purpose |
|---|---|---|
| express | ^4.18.2 | Web server framework |
| cors | ^2.8.5 | Cross-origin resource sharing |
| body-parser | ^1.20.2 | Request body parsing |
Total size: ~10 MB in node_modules/
Your server is ready for deployment to:
- Heroku - Free tier available
- Railway - Modern platform
- Render - Easy deployment
- DigitalOcean - Droplets or App Platform
- AWS - EC2, Elastic Beanstalk
- Google Cloud - App Engine
- Azure - App Service
Note: For static hosting (without server), you can still use:
- GitHub Pages
- Netlify
- Vercel
- Firebase Hosting
- ✅ CORS enabled for cross-origin requests
- ✅ Body parser for secure request handling
- ✅ Error handling middleware
⚠️ Mock authentication (localStorage-based)
- Implement real database (see MYSQL_INTEGRATION_GUIDE.md)
- Add session management (express-session)
- Hash passwords (bcrypt)
- Add rate limiting (express-rate-limit)
- Use environment variables for secrets
- Enable HTTPS
- Add input validation
- Implement CSRF protection
- ✅ Run the server:
npm start - ✅ Test all pages and features
- ✅ Create a user account
- ✅ Test save functionality
- 📝 Customize content (universities, scholarships)
- 🎨 Adjust styling and branding
- 🧪 Add more test prep content
- 📊 Enhance calculators and tools
- 🗄️ Set up MySQL database
- 🔐 Implement real authentication
- 📧 Add email notifications
- 📊 Add analytics
- 🌍 Deploy to production
- 📱 Create mobile app (optional)
- Navigation between all pages
- User registration and login
- User profiles
- Save universities and scholarships
- Search and filter tools
- Calculators and quizzes
- Responsive design
- Mobile menu
- LocalStorage data persistence
- Database integration (MySQL ready)
- API endpoints (mock → real)
- User sessions (add express-session)
- Email notifications
- Admin panel
- Advanced analytics
- Express.js: https://expressjs.com/
- Node.js: https://nodejs.org/docs/
- REST APIs: https://restfulapi.net/
- MySQL Integration: See MYSQL_INTEGRATION_GUIDE.md
- Add real-time chat support
- Implement document upload
- Create admin dashboard
- Add payment integration (for premium features)
- Implement social media login
- Add push notifications
- README.md - Complete guide
- INSTALLATION.md - Setup instructions
- QUICK_START.txt - Quick reference
- MYSQL_INTEGRATION_GUIDE.md - Database setup
- AUTH_SYSTEM_README.md - Authentication details
- Check console for errors (F12 in browser)
- Check server logs in terminal
- Verify all files are present
- Clear browser cache
- Try incognito/private mode
Your Study Abroad Portal now has:
- ✅ Professional server setup
- ✅ Clean URL routing
- ✅ API endpoints ready
- ✅ Database integration ready
- ✅ Two deployment options
- ✅ Complete documentation
- ✅ Easy startup scripts
You're ready to develop, test, and deploy!
# First-time setup
npm install
# Start server
npm start
# Stop server
Ctrl + C
# Use different port
PORT=8080 npm start
# Clear npm cache (if issues)
npm cache clean --force
# Reinstall everything
rm -rf node_modules package-lock.json
npm install
# Check versions
node --version
npm --versionLinux/Mac:
./start-server.shWindows:
start-server.batManual:
npm install # First time only
npm start # Every timeThen open: http://localhost:3000
Happy Coding! 🚀
Good luck with your Study Abroad Portal! 🌍















